作者:保佑麻木_711 | 来源:互联网 | 2013-06-18 23:56
数据分页是Web开发中一个常见的功能,ThinkPHP内置了分页类(ThinkPHP系统目录下Lib/ORG/Util/Page.class.php),可以直接使用。
ThinkPHP 分页类
数据分页是 Web 开发中一个常见的功能,ThinkPHP 内置了分页类(ThinkPHP 系统目录下
Lib/ORG/Util/Page.class.php),可以直接使用。
分页类语法:
Page(totalRows,
listRows, parameter)
参数说明: 参数 说明
totalRows 必选,总的记录数
listRows
可选,每页显示记录数,默认 20
parameter 可选,分页跳转的参数
分页例子
分页操作
在查询操作中,使用
import 指令导入分页类,一个应用实例如下:
-
public function select(){
-
$Dao = M("User");
-
// 计算总数
-
$count = $Dao->count();
-
// 导入分页类
-
import("ORG.Util.Page");
-
// 实例化分页类
-
$p = new Page($count, 10);
-
// 分页显示输出
-
$page = $p->show();
-
-
// 当前页数据查询
-
$list = $Dao->order('uid ASC')->limit($p->firstRow.','.$p->listRows)->select();
-
-
// 赋值赋值
-
$this->assign('page', $page);
-
$this->assign('list', $list);
-
-
$this->display();
-
}
语法说明
Page
类需要两个初始化参数:数据总数和每页显示的数据数。这也是分页的基本原理,具体可参见:《PHP 数据分页》。
实例化一个分页类后,调用 show()
方法显示输出分页代码。在查询当前页面显示数据是,使用了 limit 方法,注意参数要使用 Page 类的属性。
分页模板
操作对应的模板为
select.html,参考代码(只列出关键部分)如下:
border="1">
ID |
|
width="30%">用户名
|
width="30%">电子邮件
注册时间 |
name="list" id="vo">
|
align="center">{$vo['uid']}
{$vo['username']} |
{$vo['email']} |
{$vo['regdate']|date="Y-m-d
H:i",###} |
{$page}
模板中将查出的用户数据以表格的形式列出,在表格底部输出分页代码,效果如下:
-
58 条记录 2/6 页 上一页 下一页 1 2 3 4 5 下5页 最后一页
ThinkPHP 分页类也支持定制分页风格,具体见《ThinkPHP
定制分页风格》。