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 相关文章推荐
桌面中心(二)数据库写入
Oct 09 PHP
PHP安装攻略:常见问题解答(三)
Oct 09 PHP
php数组函数序列之array_keys() - 获取数组键名
Oct 30 PHP
PHP+MySQL投票系统的设计和实现分享
Sep 23 PHP
php使用pdo连接报错Connection failed SQLSTATE的解决方法
Dec 15 PHP
THINKPHP内容分页代码分享
Jan 14 PHP
php二维数组合并及去重复的方法
Mar 04 PHP
php数字每三位加逗号的功能函数
Oct 22 PHP
php递归函数怎么用才有效
Feb 24 PHP
php实现数组中出现次数超过一半的数字的统计方法
Oct 14 PHP
Yii框架引入coreseek分页功能示例
Feb 08 PHP
thinkphp诸多限制条件下如何getshell详解
Dec 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
Blitz templates 最快的PHP模板引擎
2010/04/06 PHP
php利用iframe实现无刷新文件上传功能的代码
2011/09/29 PHP
php 计划任务 检测用户连接状态
2012/03/29 PHP
PHP5全版本绕过open_basedir读文件脚本漏洞详细介绍
2015/01/20 PHP
php文件上传你必须知道的几点
2015/10/20 PHP
XmlUtils JS操作XML工具类
2009/10/01 Javascript
js有序数组的连接问题
2013/10/01 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
jQuery中delegate与on的用法与区别示例介绍
2013/12/20 Javascript
使用js判断控件是否获得焦点
2014/01/03 Javascript
AngularJS语法详解
2015/01/23 Javascript
js模拟淘宝网的多级选择菜单实现方法
2015/08/18 Javascript
总结AngularJS开发者最常犯的十个错误
2016/08/31 Javascript
Vue.js动态组件解析
2016/09/09 Javascript
Vee-Validate的使用方法详解
2017/09/22 Javascript
ES6 javascript中Class类继承用法实例详解
2017/10/30 Javascript
js中实例与对象的区别讲解
2019/01/21 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
jQuery实现简单飞机大战
2020/07/05 jQuery
Ant Design的Table组件去除
2020/10/24 Javascript
K-近邻算法的python实现代码分享
2017/12/09 Python
django admin添加数据自动记录user到表中的实现方法
2018/01/05 Python
numpy.delete删除一列或多列的方法
2018/04/03 Python
Python提取频域特征知识点浅析
2019/03/04 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
django admin管理工具自定义时间区间筛选器DateRangeFilter介绍
2020/05/19 Python
python中的错误如何查看
2020/07/08 Python
CSS3等相关属性制作分页导航实现代码
2012/12/24 HTML / CSS
最好的商品表达自己:Cafepress
2019/09/04 全球购物
金融专业个人求职信
2013/09/22 职场文书
民族团结先进个人事迹材料
2014/06/02 职场文书
环保志愿者活动方案
2014/08/14 职场文书
职工擅自离岗检讨书
2014/09/23 职场文书
2014大学生学生会工作总结
2014/12/19 职场文书
质量保证书
2015/01/17 职场文书
python index() 与 rindex() 方法的使用示例详解
2022/12/24 Python