ThinkPHP分页类使用详解


Posted in PHP onMarch 05, 2014

一、首先需要在MsgManage控制器中加入分页方法

知识点:
1、count函数的试用
2、Page类实例化操作及相关参数了解
3、limit函数了用
4、show函数了解

编辑文件admin/Lib/Action/MsgManageAction.class.php

代码如下:

class MsgManageAction extends CommonAction {
    public function index(){
     import('ORG.Util.Page');
  //import调用的是message/ThinkPHP框架目录下的扩展包Extend/Library/ORG/Util/中的Page.class.php类文件
     $count = M('board')->count();
  //调用board库,取出所有数据条数
     $page = new Page($count ,10);
  //实例化Page类,其中第一个参数为显示条数的总数,每次取出十条,也就是下面$page->listRows的值
  $limit = $page->firstRow . ',' . $page->listRows;
  //$page->firstRow为查找的起始条数,默认为0,如果$page->listRows为10,那么第2页的$page->firstRow就为10,以此类推  $board = M('board')->order('time DESC')->limit($limit)->select();
  //注意,这里较之前的版本添加了->limit($limit)
  $this->board = $board;
  $this->page = $page->show();
  //将$page->show()通过show方法解析$page内容显示并赋值给模板变量,供模板调用
  $this->display();
    }
 Public function delete(){
  $id = I('id','','intval');

  if(M('board')->delete($id)){
   $this->success('删除成功',U('index'));
  }else{
   $this->error('删除失败');
  }
 }
}

show方法是3.1版本才有的一个新功能
ThinkPHP中页面输出的过程是读取模板文件,然后进行模板解析(也支持调用第三方模板引擎解析),但是有一些情况,我们并没有定义模板文件,或者把模板文件保存在数据库里面,那么这个时候进行页面输出的时候,我们是无法进行模板文件读取的,3.1版本则针对这样的情况增加了内容解析输出的功能。
内置的模板引擎也进行了完善,如果传入的模板文件不存在的话,则会认为是传入的模板解析内容,因此,3.1的View类和Action类也做了一些改进。
display方法用于模板文件渲染输出,show方法则用于模板内容渲染输出,并且show方法仍然支持内容解析功能
具体内容可参考:ThinkPHP3.1新特性 内容解析输出
二、在模板文件中加入分页模块
知识点:
1、td单元格合并
2、$page变量调用显示

编辑文件:admin/Tpl/MsgManage/index.html,加入一段tr用来显示分页相关,代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Message Board BackGround</title>
</head>
<body>
 <table class="table" border="1">
  <tr>
   <th>ID</th>
   <th>发布者</th>
   <th>内容</th>
   <th>发布时间</th>
   <th>操作</th>
  </tr>
  <foreach name='board' item='b'>
   <tr>
    <td>{$b.id}</td>
    <td>{$b.username}</td>
    <td>{$b.content}</td>
    <td>{$b.time|date='y-m-d H:i',###}</td>
    <td><a href="{:U('admin.php/MsgManage/delete',array('id' => $b['id'])),''}">删除</a></td>
   </tr>
  </foreach>
  //新增tr代码短
  <tr>
   <td colspan='5' align='center'>
   //将5个单元格合并,并且居中显示
    {$page}
    //显示控制器中$this->page内容
   </td>
  </tr>
 </table>
</body>
</html>
PHP 相关文章推荐
PHP 模板高级篇总结
Dec 21 PHP
php桌面中心(二) 数据库写入
Mar 11 PHP
Cakephp 执行主要流程
Mar 24 PHP
PHP利用header跳转失效的解决方法
Oct 24 PHP
PHP制作万年历
Jan 07 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
PHP正则表达式之捕获组与非捕获组
Nov 06 PHP
CI框架源码解读之利用Hook.php文件完成功能扩展的方法
May 18 PHP
PHP页面跳转操作实例分析(header方法)
Sep 28 PHP
thinkPHP框架可添加js事件的分页类customPage.class.php完整实例
Mar 16 PHP
PHP常用函数之base64图片上传功能详解
Oct 21 PHP
使用PHP+Redis实现延迟任务,实现自动取消订单功能
Nov 21 PHP
php统计文章排行示例
Mar 04 #PHP
php不使用插件导出excel的简单方法
Mar 04 #PHP
php无限遍历文件夹示例分享
Mar 04 #PHP
关于js和php对url编码的处理方法
Mar 04 #PHP
php面向对象中的魔术方法中文说明
Mar 04 #PHP
thinkphp实现多语言功能(语言包)
Mar 04 #PHP
thinkphp实现图片上传功能分享
Mar 04 #PHP
You might like
PHP文件上传实例详解!!!
2007/01/02 PHP
浅析application/x-www-form-urlencoded和multipart/form-data的区别
2014/06/22 PHP
thinkphp框架page类与bootstrap分页(美化)
2017/06/25 PHP
php快速导入大量数据的实例方法
2019/09/23 PHP
基于jQuery的弹出消息插件 DivAlert之旅(一)
2010/04/01 Javascript
页面元素绑定jquery toggle后元素隐藏的解决方法
2014/03/27 Javascript
Knockout自定义绑定创建方法
2015/12/26 Javascript
Js与Jq获取浏览器和对象值的方法
2016/03/18 Javascript
JavaScript 冒泡排序和选择排序的实现代码
2016/09/03 Javascript
正则表达式替换html元素属性的方法
2016/11/26 Javascript
vue2滚动条加载更多数据实现代码
2017/01/10 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
vue+element的表格实现批量删除功能示例代码
2018/08/17 Javascript
详解vue-property-decorator使用手册
2019/07/29 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
Openlayers+EasyUI Tree动态实现图层控制
2020/09/28 Javascript
Vue过滤器,生命周期函数和vue-resource简单介绍
2021/01/12 Vue.js
[01:11]steam端dota2实名认证操作流程视频
2021/03/11 DOTA
python实现根据主机名字获得所有ip地址的方法
2015/06/28 Python
使用Python来编写HTTP服务器的超级指南
2016/02/18 Python
python监控linux内存并写入mongodb(推荐)
2017/09/11 Python
Python中print和return的作用及区别解析
2019/05/05 Python
Python秒算24点实现及原理详解
2019/07/29 Python
如何查看Django ORM执行的SQL语句的实现
2020/04/20 Python
英国知名的皮手套品牌:Dents
2016/11/13 全球购物
耐克奥地利官网:Nike奥地利
2019/08/16 全球购物
Roxy俄罗斯官方网站:冲浪和滑雪板的一切
2020/06/20 全球购物
介绍一下linux的文件权限
2014/07/20 面试题
党的群众路线教育实践活动公开承诺书
2014/03/28 职场文书
理想演讲稿范文
2014/05/21 职场文书
生物学专业求职信
2014/07/23 职场文书
社区关爱留守儿童活动方案
2014/08/22 职场文书
会计求职自荐信
2015/03/26 职场文书
美德少年主要事迹材料
2015/11/04 职场文书
python数据可视化使用pyfinance分析证券收益示例详解
2021/11/20 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
2022/04/04 Python