当前位置:首页 > CMS教程 > Thinkphp > 列表

ThinkPHP 分页详解及分页应用实例

发布:smiling 来源: PHP粉丝网  添加日期:2014-04-21 14:28:24 浏览: 评论:0 

数据分页是 Web 开发中一个常见的功能,ThinkPHP 内置了分页类(ThinkPHP 系统目录下 Lib/ORG/Util/Page.class.php),可以直接使用.

分页类语法:Page(totalRows, listRows, parameter)

参数 说明

totalRows 必选,总的记录数

listRows 可选,每页显示记录数,默认 20

parameter 可选,分页跳转的参数

分页例子

分页操作

在查询操作中,使用 import 指令导入分页类,一个应用实例如下:

  1. public function select(){ 
  2. $Dao = M("User"); 
  3. // 计算总数 $count = $Dao->count(); 
  4. // 导入分页类 import("ORG.Util.Page"); 
  5. // 实例化分页类 $p = new Page($count, 10); 
  6. // 分页显示输出 $page = $p->show(); 
  7. // 当前页数据查询 
  8. $list = $Dao->order('uid ASC')->limit($p->firstRow.','.$p->listRows)->select(); 
  9. // 赋值赋值 $this->assign('page', $page); 
  10. $this->assign('list'$list); 
  11. $this->display(); 

语法说明:Page 类需要两个初始化参数:数据总数和每页显示的数据数,这也是分页的基本原理.

实例化一个分页类后,调用 show() 方法显示输出分页代码,在查询当前页面显示数据是,使用了 limit 方法,注意参数要使用 Page 类的属性.

分页模板:操作对应的模板为 select.html,参考代码(只列出关键部分)如下:

  1. <table border="1"> 
  2. <tr> 
  3. <th width="10%">ID</th> 
  4. <th width="30%">用户名</th> 
  5. <th width="30%">电子邮件</th> 
  6. <th>注册时间</th> 
  7. </tr> 
  8. <volist name="list" id="vo"> 
  9. <tr> 
  10. <td align="center">{$vo['uid']}</td> 
  11. <td>{$vo['username']}</td> 
  12. <td>{$vo['email']}</td> 
  13. <td>{$vo['regdate']|date="Y-m-d H:i",###}</td> 
  14. </tr> 
  15. </volist> 
  16. </table> 
  17. <div>{$page}</div> 

模板中将查出的用户数据以表格的形式列出,在表格底部输出分页代码,效果如下:

58 条记录 2/6 页 上一页 下一页 1 2 3 4 5 下5页 最后一页

Tags: ThinkPHP 分页实例 分页应用

分享到: