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 09 PHP
PHP提取字符串中的图片地址[正则表达式]
Nov 12 PHP
解析Linux下Varnish缓存的配置优化
Jun 20 PHP
php中socket通信机制实例详解
Jan 03 PHP
深入理解PHP中的Streams工具
Jul 03 PHP
Thinkphp3.2.3整合phpqrcode生成带logo的二维码
Jul 21 PHP
PHP文件上传操作实例详解
Sep 27 PHP
php实现的XML操作(读取)封装类完整实例
Feb 23 PHP
PHP实现随机生成水印图片功能
Mar 22 PHP
PHP下 Mongodb 连接远程数据库的实例代码
Aug 30 PHP
PHP实现的字符串匹配算法示例【sunday算法】
Dec 19 PHP
thinkphp5实现微信扫码支付
Dec 23 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
一个连接两个不同MYSQL数据库的PHP程序
2006/10/09 PHP
网页游戏开发入门教程二(游戏模式+系统)
2009/11/02 PHP
php set_magic_quotes_runtime() 函数过时解决方法
2010/07/08 PHP
解析php中array_merge与array+array的区别
2013/06/21 PHP
php实现mysql数据库操作类分享
2014/02/14 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
四个常见html网页乱码问题及解决办法
2015/09/08 PHP
thinkphp 验证码 的使用小结
2017/05/07 PHP
Jquery实现图片左右自动滚动示例
2013/09/25 Javascript
JS简单实现元素复制示例附图
2013/11/19 Javascript
JavaScript中的正则表达式简明总结
2014/04/04 Javascript
javascript图片滑动效果实现
2021/01/28 Javascript
JS组件系列之Bootstrap Icon图标选择组件
2016/01/28 Javascript
浅析JavaScript作用域链、执行上下文与闭包
2016/02/01 Javascript
JavaScript中解决多浏览器兼容性23个问题的快速解决方法
2016/05/19 Javascript
jQuery内容过滤选择器用法示例
2016/09/09 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
利用React高阶组件实现一个面包屑导航的示例
2020/08/23 Javascript
jQuery冲突问题解决方法
2021/01/19 jQuery
[02:42]DOTA2英雄基础教程 杰奇洛
2013/12/23 DOTA
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
用python给自己做一款小说阅读器过程详解
2019/07/11 Python
在Matplotlib图中插入LaTex公式实例
2020/04/17 Python
基于Django快速集成Echarts代码示例
2020/12/01 Python
HTML5实现表单自动验证功能实例代码
2017/01/11 HTML / CSS
金融专业个人求职信
2013/09/22 职场文书
小学生作文评语
2014/04/18 职场文书
软件项目实施计划书
2014/05/02 职场文书
大学毕业生个人自荐书
2014/07/02 职场文书
销售目标责任书
2014/07/23 职场文书
交通工程专业推荐信
2014/09/06 职场文书
学生通报表扬范文
2015/05/04 职场文书
门面租赁合同范文
2019/08/06 职场文书
mysql left join快速转inner join的过程
2021/06/30 MySQL
Redis实现分布式锁的五种方法详解
2022/06/14 Redis