PHP如何合理的分页.
当拥有大量需要呈现给用户时, 一次性把所有数据都显示出来显然不是一个人性化的做法. 一是这样用户会有一种被数据淹没的感觉, 而且非常破坏网页美观, 这个时候就需要用到分页. 分页技术可以再很多地方用到, 例如多个商品需要呈现给客户, 多幅图片等等. 如何合理非常重要. PHP要分页显示说难不难说容易也不容易. 这里我们用从数据库中读取N条数据并且对其进行分页作为例子. 本文的主要目的是让大家了解分页的概念. 先从变量开始, 既然是分页我们就需要个记录总页数的和当前页数的变量, $totalPage, $currentPage, 当前页如无特殊情况默认为0, 那么总页数就需要一些计算了. 计算总页数的方法也和简单,不过在计算之前我们还需要一个变量, $pageSize 每页显示数量和 $totalData需要显示的数据总数. 从数据库读取所有符合要求的数据, 例如价格大于100, 性别等于女等等, 然后用总数除每页显示数量. 不过这里要注意的不能整除的情况. 例如一共8个,每页3个, 那么这样总页数应该是3页而非2.xx页,所以我们用ceil()函数去最小整数. 代码如下:
//计算一共有多少条有效数据
$sql = “select count(*) as amount from table”;
$result = mysql_query($sql);
$row = mysql_fetch_row($result);
$totalData = $row['amount'];
$totalData = ceil($totalData/$pageSize);
这样我们分页的准备工作就都做好了.
接下来就是显示部分, 其实现实部分没什么难点当你学会接下啦的limit的用法.
$sql = “select count(*) as amount from table limit $currentPage*$pageSize, $pageSize“
注意limit的部分, limit 0,5意思就是说从第0条数据开始, 读5条数据. 那么上面的代码的意思是, 从当前页*每页数量开始, 读取你设定的每页数量那么多条数据.
接着就按照普通的方法while显示数据就可以了.
最后就是页数导航了用各一个简单的for循环输出就可以了.
这样你的分页就完成了.