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 相关文章推荐
PHPShop存在多个安全漏洞
Oct 09 PHP
基于PHP一些十分严重的缺陷详解
Jun 03 PHP
PHP用星号隐藏部份用户名、身份证、IP、手机号等实例
Apr 08 PHP
使用CodeIgniter的类库做图片上传
Jun 12 PHP
Laravel框架中扩展函数、扩展自定义类的方法
Sep 04 PHP
php一维二维数组键排序方法实例总结
Nov 13 PHP
PHP答题类应用接口实例
Feb 09 PHP
PHP代码维护,重构变困难的4种原因分析
Jan 25 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
php mysql操作mysql_connect连接数据库实例详解
Dec 26 PHP
PHP去除字符串最后一个字符的三种方法实例
Mar 01 PHP
CI框架实现创建自定义类库的方法
Dec 25 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 和 MySQL 开发的 8 个技巧
2006/10/09 PHP
file_get_contents(&quot;php://input&quot;, &quot;r&quot;)实例介绍
2013/07/01 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
JQuery入门—编写一个简单的JQuery应用案例
2013/01/03 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
js实现网页图片延时加载 提升网页打开速度
2016/01/26 Javascript
JS中Eval解析JSON字符串的一个小问题
2016/02/21 Javascript
JS代码随机生成姓名、手机号、身份证号、银行卡号
2016/04/27 Javascript
d3.js实现简单的网络拓扑图实例代码
2016/11/06 Javascript
nodejs读写json文件的简单方法(必看)
2017/03/09 NodeJs
JS从非数组对象转数组的方法小结
2018/03/26 Javascript
每个 JavaScript 工程师都应懂的33个概念
2018/10/22 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
JavaScript对象属性操作实例解析
2020/02/04 Javascript
JavaScript中reduce()的5个基本用法示例
2020/07/19 Javascript
Python松散正则表达式用法分析
2016/04/29 Python
python面向对象_详谈类的继承与方法的重载
2017/06/07 Python
django2 快速安装指南分享
2018/01/05 Python
不知道这5种下划线的含义,你就不算真的会Python!
2018/10/09 Python
Python3中urlencode和urldecode的用法详解
2019/07/23 Python
解决启动django,浏览器显示“服务器拒绝访问”的问题
2020/05/13 Python
Django nginx配置实现过程详解
2020/09/10 Python
CSS3改变浏览器滚动条样式
2019/01/04 HTML / CSS
公务员职务工作的自我评价
2013/11/01 职场文书
自荐信要包含哪些内容
2013/11/06 职场文书
《雨霖铃》教学反思
2014/02/22 职场文书
2014年维修工作总结
2014/11/22 职场文书
周年庆典答谢词
2015/01/20 职场文书
实习介绍信模板
2015/01/30 职场文书
明确岗位职责
2015/02/14 职场文书
2015年图书馆个人工作总结
2015/05/26 职场文书
雷锋的观后感
2015/06/10 职场文书
网吧温馨提示
2015/07/17 职场文书
使用Nginx+Tomcat实现负载均衡的全过程
2022/05/30 Servers