首页 百科知识 内容分页显示

内容分页显示

时间:2022-10-19 百科知识 版权反馈
【摘要】:在很多情况下,网页从数据库调出的内容太多,不适合在一页显示,需要根据情况将内容分成若干页显示,这就涉及内容分页的问题。在PHP+MySQL环境中实现分页基本原理非常简单:每次在MySQL查询出指定数量的记录,并且显示出来。在PHP+MySQL的环境中,分页显示代码最核心的部分乃是对limit语句的使用。第二个是我们所设定的每一页显示的记录的个数,记为$ page_size。$ page_size的大小要适中,过大则一页显示的信息过多,不利于用户阅读;过小则需要用户进行过多的操作。

9.8 内容分页显示

在很多情况下,网页从数据库调出的内容太多,不适合在一页显示,需要根据情况将内容分成若干页显示,这就涉及内容分页的问题。在PHP+MySQL环境中实现分页基本原理非常简单:每次在MySQL查询出指定数量的记录,并且显示出来。这大大节约了浏览查询的时间,也使得界面更加友好。

在PHP+MySQL的环境中,分页显示代码最核心的部分乃是对limit语句的使用。limit子句是MySQL的扩充子句,可以被用来控制SELECT语句返回的行数。limit后面可以加一到两个数字参数,如果给定两个参数,第一个指定要返回的第一行的偏移量,第二个指定返回行的最大数目(注意初始行的偏移量是0,不是1)。

img446

如果给定一个参数,它指出返回行的最大数目,换句话说,limit n等价于limit0,n。

img447

可以看出limit语句的属性和用途特别适合按照需要“截取”记录。

在编写分页代码的时候,有两个参数是必需的。第一个是查询对象的记录的个数,记为$ num_rows。第二个是我们所设定的每一页显示的记录的个数,记为$ page_size。$ page_size的大小要适中,过大则一页显示的信息过多,不利于用户阅读;过小则需要用户进行过多的操作。此外,有两个变量需要用GET方法传递进来: request_page和num_page分别表示当前显示的分页号、记录总数。其中,num_page的存在是为了避免翻页的时候每次都重复查询记录的总数,提高效率。

下面是具体的实现步骤:

(1)连接数据库。

(2)使用mysql_query()查询,使用mysql_num_rows()计算查询对象的个数$ num_rows。

(3)设定恰当的$ page_size,通过对$ num_rows/$ page_size向上取整,获得显示的页数。

(4)通过简单的数学计算,我们可以推得第n页显示从(n-1)*$ page_size到n*$ page_size-1的查询记录。

(5)显示输出记录。

(6)设定前一页和后一页的链接。这里要注意的是首页和末页的链接,即如果当前页面已经是第一页,“上一页”就无需再设定链接;如果当前页面是最后一页,同样的,“下一页”就无需设定链接。

下面就通过代码来演示:

img448

img449

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈