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 win下Socket方式发邮件类
Aug 21 PHP
基于PHP常用字符串的总结(待续)
Jun 07 PHP
PHP的PSR规范中文版
Sep 28 PHP
ThinkPHP水印功能实现修复PNG透明水印并增加JPEG图片质量可调整
Nov 05 PHP
PHP中is_dir()函数使用指南
May 08 PHP
PHP添加图片水印、压缩、剪切的封装类
Aug 17 PHP
浅谈使用PHP开发微信支付的流程
Oct 04 PHP
php通过两层过滤获取留言内容的方法
Jul 11 PHP
php中static 静态变量和普通变量的区别
Dec 01 PHP
PHP实现蛇形矩阵,回环矩阵及数字螺旋矩阵的方法分析
May 29 PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 PHP
php的扩展写法总结
May 14 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
哪吒敖丙传:新人物二哥敖乙出场 小敖丙奶气十足
2020/03/08 国漫
封装一个PDO数据库操作类代码
2009/09/09 PHP
PHP中的错误处理、异常处理机制分析
2012/05/07 PHP
laravel安装和配置教程
2014/10/29 PHP
PHP中的traits实现代码复用使用实例
2015/05/13 PHP
详解在PHP的Yii框架中使用行为Behaviors的方法
2016/03/18 PHP
PHP手机号码及邮箱正则表达式实例解析
2020/07/11 PHP
JS处理VBArray的函数使用说明
2008/05/11 Javascript
JS,Jquery获取select,dropdownlist,checkbox下拉列表框的值(示例代码)
2014/01/11 Javascript
jquery scroll()区分横向纵向滚动条的方法
2014/04/04 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
JS特效实现图片自动播放并可控的效果
2015/07/31 Javascript
Svg.js实例教程及使用手册详解(一)
2016/05/16 Javascript
js控制台输出的方法(详解)
2016/11/26 Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
2017/06/04 Javascript
JS笛卡尔积算法与多重数组笛卡尔积实现方法示例
2017/12/01 Javascript
jQuery实现的电子时钟效果完整示例
2018/04/28 jQuery
如何在 JavaScript 中更好地利用数组
2018/09/27 Javascript
jquery+ajax实现异步上传文件显示进度条
2020/08/17 jQuery
详解numpy.meshgrid()方法使用
2019/08/01 Python
Django用数据库表反向生成models类知识点详解
2020/03/25 Python
Python文件夹批处理操作代码实例
2020/07/21 Python
Python之qq自动发消息的示例代码
2021/02/18 Python
浅谈html5 video 移动端填坑记
2018/01/15 HTML / CSS
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
杭州联环马网络笔试题面试题
2013/08/04 面试题
机关财务管理制度
2014/01/17 职场文书
总经理助理工作职责
2014/02/06 职场文书
《三顾茅庐》教学反思
2014/04/10 职场文书
大专毕业生求职信
2014/07/05 职场文书
2014乡镇班子个人对照检查材料思想汇报
2014/09/26 职场文书
2015年财政局工作总结
2015/05/21 职场文书
担保书格式范文
2015/09/22 职场文书
CSS3点击按钮圆形进度打钩效果的实现代码
2021/03/30 HTML / CSS
Oracle中update和select 关联操作
2022/01/18 Oracle
MySQL事务的隔离级别详情
2022/07/15 MySQL