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后应该使用测试用例等进行测试,测试完成后就可以方便使用了.这也是我以前在做的,