background image

php 分页显示

所谓分页显示,也就是将数据库中的结果集人为的分成一段一段的来显示,这里需

要两个初始的参数:

每页多少条记录($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 语句对照一下看看是不是那么回事。搞定了最

重要的如何获取数据的问题以后,剩下的就仅仅是传递参数,构造合适的 sql 语句然后

使用 php 从数据库内获取数据并显示了。以下我将用具体代码加以说明。

3、简单代码

请详细阅读以下代码,自己调试运行一次,最好把它修改一次,加上自己的功能,比如

搜索等等。

[php] 

<?php 

// 建立数据库连接 

$link = mysql_connect("localhost", "mysql_user", "mysql_passWord")  

      or die("Could not connect: " . mysql_error());  

// 获取当前页数