PHP学习 mvc 学习

今天的讲的知识不是很多 

首先是一个分页代码.不想细研究,以前在java中没有遇到过的情况可能就是他的FenYe类,不仅储存了参数 返回的结果(含有生产的html)也放到里面了./

将来会用到的 网上也一定有代码 

思想:

1.首先考虑要解决的问题

2.提供的条件

3.需要返回的值,

4.开始研究方法的实现

<?php
	
	//这是一个用于保存分页信息的类
	class FenyePage{
		public $pageSize=6; 
		public $res_array;  //这是显示数据
		public $rowCount;   //这是从数据库中获取
		public $pageNow=1;  //用户指定的
		public $pageCount;  //这个是计算得到的
		public $navigate;   //分页导航
	}

?>
传入分页传出 之后吧结果也放入fenye对象
//第二种使用封装的方式完成的分页(业务逻辑到这里)
		function getFenyePage($fenyePage){

			$sql1="select * from emp  limit "
			.($fenyePage->pageNow-1)*$fenyePage->pageSize.",".$fenyePage->pageSize;

			$sql2="select count(id) from emp";

			//创建一个SqlHelper对象实例
			$sqlHelper=new SqlHelper();
			$sqlHelper->exectue_dql_fenye($sql1,$sql2,$fenyePage);

			$sqlHelper->close_connect();
		}


//考虑分页情况的查询,这是一个比较通用的并体现oop编程思想的代码
		//$sql1="select * from where 表名 limit 0,6";
		//$sql2="select count(id) from 表名"
		public function exectue_dql_fenye($sql1,$sql2,$fenyePage){


			//这里我们查询了要分页显示的数据
			$res=mysql_query($sql1,$this->conn) or die(mysql_error());
			//$res=>array()
			$arr=array();
			//把$res转移到$arr
			while($row=mysql_fetch_assoc($res)){
				$arr[]=$row;
			}


			mysql_free_result($res);


			$res2=mysql_query($sql2,$this->conn) or die(mysql_error());


			if($row=mysql_fetch_row($res2)){
				$fenyePage->pageCount=ceil($row[0]/$fenyePage->pageSize);
				$fenyePage->rowCount=$row[0];
			}


			mysql_free_result($res2);


			//把导航信息也封装到fenyePage对象中
			$navigate="";
			if ($fenyePage->pageNow>1){
				$prePage=$fenyePage->pageNow-1;
				$navigate="<a href='empList.php?pageNow=$prePage'>上一页</a> ";
			}
			if($fenyePage->pageNow<$fenyePage->pageCount){
				$nextPage=$fenyePage->pageNow+1;
				$navigate.="<a href='empList.php?pageNow=$nextPage'>下一页</a> ";
			}


			//把$arr赋给$fenyePage
			$fenyePage->res_array=$arr;
			$fenyePage->navigate=$navigate;




		}

在界面中只是调用

echo $fenyePage->navigate;

就可以显示123456的分页界面了



然后是mvc思想的c讲解 说的还是不错的



最后,在写完了model后应该使用测试用例等进行测试,测试完成后就可以方便使用了.这也是我以前在做的,



posted @ 2012-11-27 21:09  sfshine  阅读(198)  评论(0编辑  收藏  举报