1、前言 分页显示是一种非常常见的浏览和显示大量数据的方法,属于 web 编程中最常处理的事件之一
对于 web 编程的老手来说,编写这种代码实在是和呼吸一样自然,但是对于初学者来说,常常对这个问题摸不着头绪,因此特地撰写此文对这个问题进行详细的讲解,力求让看完这篇文章的朋友在看完以后对于分页显示的原理和实现方法有所了解
本文适合初学者阅读,所有示例代码均使用 php编写
2、原理 所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需要两个初始的参数: 每页多少条记录($PageSize)
当前是第几页($CurrentPageID)
现在只要再给我一个结果集,我就可以显示某段特定的结果出来
至于其他的参数,比如:上一页($PreviousPageID)、下一页($NextPageID)、总页数($numPages)等等,都可以根据前边这几个东西得到
以 mysql 数据库为例,如果要从表内截取某段内容,sql 语句可以用:select * from table limit offset, rows
看看下面一组 sql 语句,尝试一下发现其中的规率
前 10 条记录:select * from table limit 0,10 第 11 至 20 条记录:select * from table limit 10,10 第 21 至 30 条记录:select * from table limit 20,10 …… 这一组 sql 语句其实就是当$PageSize=10 的时候取表内每一页数据的 sql 语句,我们可以总结出这样一个模板: select * from table limit ($CurrentPageID - 1) * $PageSize, $PageSize 拿这个模板代入对应的值和上边那一组 sql 语句对照一下看看是不是