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教程 预定义变量
Oct 23 PHP
php 获取本机外网/公网IP的代码
May 09 PHP
那些年我们错过的魔术方法(Magic Methods)
Jan 14 PHP
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
Apr 05 PHP
PHP使用CURL实现多线程抓取网页
Apr 30 PHP
教你php如何实现验证码
Jan 20 PHP
PHP将页面中点击数量高的链接进行高亮显示的方法
May 30 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
PHP入门教程之字符串处理技巧总结(转换,过滤,解析,查找,截取,替换等)
Sep 11 PHP
PHP数据对象PDO操作技巧小结
Sep 27 PHP
浅谈php中变量的数据类型判断函数
Mar 04 PHP
thinkPHP框架实现的无限回复评论功能示例
Jun 09 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
咖啡是不是喝了会上瘾?咖啡是必须品吗!
2021/03/04 新手入门
模仿OSO的论坛(三)
2006/10/09 PHP
PHP用户指南-cookies部分
2006/10/09 PHP
php下用cookie统计用户访问网页次数的代码
2010/05/09 PHP
php笔记之:AOP的应用
2013/04/24 PHP
php数组索引与键值操作技巧实例分析
2015/06/24 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
jquery实现的导航固定效果
2014/04/28 Javascript
js在数组中删除重复的元素自保留一个(两种实现思路)
2014/08/22 Javascript
jQuery Ajax中的事件详细介绍
2015/04/16 Javascript
特殊日期提示功能的实现方法
2016/06/16 Javascript
web打印小结
2017/01/11 Javascript
jQuery图片拖动组件Dropzone用法示例
2017/01/17 Javascript
js实现九宫格拼图小游戏
2017/02/13 Javascript
基于wordpress的ajax写法详解
2018/01/02 Javascript
浅谈Node.js 中间件模式
2018/06/12 Javascript
在JS循环中使用async/await的方法
2018/10/12 Javascript
koa2 用户注册、登录校验与加盐加密的实现方法
2019/07/22 Javascript
Vue 动态路由的实现及 Springsecurity 按钮级别的权限控制
2019/09/05 Javascript
微信小程序 scroll-view 实现锚点跳转功能
2019/12/12 Javascript
Python实现霍夫圆和椭圆变换代码详解
2018/01/12 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
对pandas的行列名更改与数据选择详解
2018/11/12 Python
pycharm配置pyqt5-tools开发环境的方法步骤
2019/02/11 Python
用Python解数独的方法示例
2019/10/24 Python
基于Python测试程序是否有错误
2020/05/16 Python
Python 数据分析之逐块读取文本的实现
2020/12/14 Python
魅力教师事迹材料
2014/01/10 职场文书
企业职业病防治方案
2014/05/29 职场文书
身边的榜样活动方案
2014/08/20 职场文书
2014年师德师风工作总结
2014/11/25 职场文书
中秋联欢会主持词
2015/07/04 职场文书
2016党员读书思廉心得体会
2016/01/23 职场文书
教您:房贷工资收入证明应该怎么写?
2019/08/19 职场文书
MySQL 常见的数据表设计误区汇总
2021/06/07 MySQL
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis