php 实现分页

来源:互联网 发布:谷歌seo怎么做 编辑:程序博客网 时间:2024/05/18 13:12
分页实现,网上代码很多,不过以下是我整理优化后的在SAE上的代码实现。
就不再仔细解说了,注释写得很清楚

//分页实现函数,传入sql语句,访问的页号(默认为1),以及页面大小(默认为10);返回包含总个数,每页条数,总页数,当前页数,当前页数数据列表的数组;function fenye($sql,$page=1,$pageSize=10) {<span style="white-space:pre"></span>$res = $this->mysql->getData($sql);//按条件从数据库中读取数据,返回二维数组,如果不是SAE,直接改成php原生的mysql调用,其他代码不变  <span style="white-space:pre"></span>$count = count($res);//得到符合条件的建议的总个数,count函数的作用是计算出数组的元素个数 <span style="white-space:pre"></span>$num_of_paginations = ceil($count/$pageSize);//计算出总页数,ceil函数的作用是求得不小于给定实数的最小整数  <span style="white-space:pre"></span>if($page > $num_of_paginations){         <span style="white-space:pre"></span>return false; //申请的页号大于总页数,返回FALSE  <span style="white-space:pre"></span>}else{  <span style="white-space:pre"></span>$start = ($page-1)*$pageSize;//分页第一条元素的索引,也就是分段开始的地方  <span style="white-space:pre"></span>$list = array_slice($res,$start,$pageSize);//获取该分页的所有数据。array_splice函数的作用是从数组中取出一段   <span style="white-space:pre"></span>$arr = array(    <span style="white-space:pre"></span>"count" => $count,      //总个数   <span style="white-space:pre"></span> "pageSize" => $pageSize,    //每页条数    <span style="white-space:pre"></span>"pageCount" => $num_of_paginations,    //总页数    <span style="white-space:pre"></span>"thisPage" => $page,       //当前页数    <span style="white-space:pre"></span>"list" => $list         //当前页面数据列表  <span style="white-space:pre"></span> );  <span style="white-space:pre"></span> return $arr;  <span style="white-space:pre"></span>}}





0 0