《细说PHP》第四版 样章 第18章 数据库抽象层PDO 10

18.8  设计完美分页类

数据记录列表几乎出现在Web项目的每个模块中,假设一张表中有十几万条记录,我们不可能一次全都显示出来,当然也不能仅显示几十条。为了解决这样的矛盾,通常在读取时设置以分页的形式显示数据,这样阅读起来既方便又美观。分页的设计不仅可以让用户读取表中的所有数据,而且每次只从数据库服务器中读取一点点数据,既能提高数据库的反应速度,又能提高页面加载速度,所以说,分页程序是Web开发的一个重要组成部分。本节完美分页类的设计,目的就是让读者能通过最简单的方法来使用功能强大的分页程序。对于基础薄弱的读者,只要求会使用本类即可;而对一些喜欢挑战的读者,可以尝试去读懂它,并开发一个属于自己的分页类。

 

18.8.1  需求分析

要求自定义分页类,在达到使用简便的前提下,又可以完成以下几项功能:

Ø 提供比较全面的分页信息(包括记录总数、当前页显示条数和记录的起始到结束的位置、总页数和当前页码,以及首页、上一页、下一页和尾页的设置,还有通过页码列表和指定跳转的页面设置)。

Ø 可以对分页的输出信息内容进行设置。

Ø 可以有选择地显示分页信息,以及对显示的分页信息顺序进行调整。

Ø 可以设置在跳转至其他页的同时,能将本页的一些数据参数传递过去。

Ø 可以设置默认显示第一页还是最后一页。

Ø 可以使用LIMIT从句来设置SQL语句,用于限制从数据库获取的记录条数。

说明:需要考虑分页时的一些特殊情况,例如,没有数据记录时、只有一页数据时、当前页为第一页时,以及当前页为最后一页时等。

 

18.8.2  程序设计

设计一个分页程序至少需要4个重要条件:

Ø 数据表中的总记录数。

Ø 每页显示的记录条数。

Ø 为分页程序提供当前页。

Ø 访问其他页面请求的URL。

根据分页程序的需求,我们可以为分页类声明一个构造方法和两个可见的成员方法,以及两个可见的成员属性。构造方法用于为分页程序的属性提供必要的值,包括数据表的总记录数、每页显示的记录条数、页面跳转的参数传递,以及默认页面显示。其中,当前页码可以直接在程序中通过$_GET获取,不用手动传递。并且访问其他页面请求的URL也可以通过程序自动获取,也不需要手动进行传递。分页类中设计的3个可见的成员方法如表18-6所示,分页类中可见的两个成员属性如表18-7所示。

 

表18-6  分页类中设计的3个可见的成员方法

 

2d3d6626d2f442a4a07d1d4f8a6e1974.png

   

 

表18-7  分页类中可见的两个成员属性

 

e25bd1b4c1484418b92ca721fecbdf8c.png

 

 

884af4880ee04966a5d853f9d768a681.png

0cbcbf8352704e9ba0710287e3663f62.png

转载于:https://my.oschina.net/u/4125915/blog/3099082

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值