1.分页对象
view code
1
2.分页查询
view code 1 conn=mysql_connect($this->host,$this->username,$this->password,$this->dbname);16 if(!$this->conn){17 die(mysql_error());18 }19 //选择数据库20 mysql_select_db($this->dbname,$this->conn);21 //设置编码22 mysql_query(set names utf8);23 }24 25 //执行dql语句26 public function execute_dql($sql){27 $res=mysql_query($sql,$this->conn);28 return $res;29 }30 31 //执行dml语句32 public function execute_dml($sql){33 $b=mysql_query($sql,$this->conn);34 if(!$b){35 //执行失败36 return 0;37 }38 else{39 if(mysql_affected_rows($this->conn)>0){40 //执行成功41 return 1;42 }43 else{44 //没有受影响的行45 return 2;46 }47 }48 }49 50 //分页查询51 public function execute_dql_pagging($sql1,$sql2,$paggingmodel){52 //获取分页所需要的数据集53 $res=mysql_query($sql1,$this->conn) or die(mysql_errno());54 $arr=array();55 //将结果集存储起来56 while($row=mysql_fetch_assoc($res)){57 $arr[]=$row;58 }59 //释放结果集60 mysql_free_result($res);61 62 //获取记录总数63 $res=mysql_query($sql2,$this->conn) or die(mysql_errno());64 if($row=mysql_fetch_row($res)){65 $paggingmodel->pagecount=ceil($row[0]/$paggingmodel->pagesize);66 $paggingmodel->rowcount=$row[0];67 }68 69 mysql_free_result($res);70 71 //存储结果集72 $paggingmodel->res_array=$arr;73 }74 75 //关闭连接76 public function close_connect(){77 if(!empty($this->conn)){78 mysql_close($this->conn);79 }80 }81 }82 ?>
3.分页逻辑
view code 1 pagenow-1)*$paggingmodel->pagesize.,.$paggingmodel->pagesize;10 $sql2=select count(*) from table;11 $sqlhelper->execute_dql_pagging($sql1, $sql2, $paggingmodel);12 13 $sqlhelper->close_connect();14 }15 }16 ?>
4.测试分页
view code 1 pagenow=1; 8 $paggingmodel->pagesize=6; 9 10 //改变当前页11 if(!empty($_get['pagenow'])){12 $paggingmodel->pagenow=$_get['pagenow'];13 }14 15 $paggingbuiness=new paggingbuiness();16 $paggingbuiness->getpagging($paggingmodel);17 18 //打印表格结构以及表头19 echo html代码;20 21 for($i=0;$ires_array);$i++){22 $row=$paggingmodel->res_array[$i];23 echo 输出内容;24 }25 26 //显示上一页和下一页27 if($paggingmodel->pagenow>1){28 $prepage=$paggingmodel->pagenow-1;29 echo a href='xx.php?pagenow=$prepage'>上一页 ;30 }31 if($paggingmodel->pagenowpagecount){32 $nextpage=$paggingmodel->pagenow+1;33 echo 下一页 ;34 }35 ?>
