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

18.8.3  完美分页类的代码实现

分页类的编写除了需要使用在18.8.2节中提供的可以操作的3个成员方法,还需要更多的成员,但其他的成员方法和成员属性只需要内部使用,并不需要用户在对象外部操作,所以只要声明为private(私有)封装在对象内部即可。编写分页类Page并声明在page.class.php文件中,代码如下所示:

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第1张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第2张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第3张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第4张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第5张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第6张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第7张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第8张图片

 

18.8.4  完美分页类的应用过程

虽然分页类Page编写起来复杂了一点,但使用起来非常简便。分页类Page最简单的使用只需要以下几条代码:

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第9张图片

 

在上例中,首先导入了page.class.php文件加载分页类Page,然后实例化Page类的对象,并通过构造方法的参数指定记录总数为1000条;再通过分页对象中的limit属性获取LIMIT从句,组合SQL语句从数据表中获取当页显示记录的条数;最后通过分页对象中的fpage()方法获取全部分页结构信息并输出。Page类的简单使用演示如图18-8所示。

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第10张图片

图18-8  Page类的简单使用演示

 

如果需要对输出的信息进行修改,可以通过set()方法进行设置。下面的代码设置了全部可改的输出信息,当然也可以只改变部分输出信息。

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第11张图片

 

Page类中set()方法的应用如图18-9所示。

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第12张图片

图18-9  Page类中set()方法的应用

 

还可以利用fpage()方法中的参数,设置显示部分分页信息,并通过对参数排序,对显示的信息顺序进行调整。代码如下所示:

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第13张图片

Page类中fpage()方法参数的应用如图18-10所示。

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第14张图片

图18-10  Page类中fpage()方法参数的应用

 

如果需要设置每页显示记录条数,或在去往其他页面的同时携带一些本页面的参数,以及改变显示的默认页,都可以通过构造方法的其他参数实现。代码如下所示:

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第15张图片

 

Page类的构造方法应用如图18-11所示。

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第16张图片

图18-11  Page类的构造方法应用

 

在上例中,通过构造方法的第二个参数设置每页显示10条数据,又通过第三个参数设置跳转页面时传递两个参数过去,在第三个参数中也可以使用数组array("cid"=>5,"search"=>"php"),并通过第四个参数设置默认显示最后一页。

 

 

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第17张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第18张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第19张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第20张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第21张图片

《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11_第22张图片

你可能感兴趣的:(《细说PHP》第四版 样章 第18章 数据库抽象层PDO 11)