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 相关文章推荐
PHP3 safe_mode 失效漏洞
Oct 09 PHP
PHP COOKIE设置为浏览器进程
Jun 21 PHP
php获取网页上所有链接的方法
Apr 03 PHP
php计算title标题相似比的方法
Jul 29 PHP
php实现在多维数组中查找特定value的方法
Jul 29 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
PHP实现统计在线人数功能示例
Oct 15 PHP
Redis构建分布式锁
Mar 28 PHP
php生成网页桌面快捷方式
May 05 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
PHP进阶学习之依赖注入与Ioc容器详解
Jun 19 PHP
php 使用 __call实现重载功能示例
Nov 18 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/03 咖啡文化
图书管理程序(二)
2006/10/09 PHP
基于php冒泡排序算法的深入理解
2013/06/09 PHP
PHP设置头信息及取得返回头信息的方法
2016/01/25 PHP
Javascript 日期处理之时区问题
2009/10/08 Javascript
jQuery 图片切换插件(代码比较少)
2012/05/07 Javascript
JavaScript中的依赖注入详解
2015/03/18 Javascript
JQuery实现左右滚动菜单特效
2015/09/28 Javascript
基于JS如何实现类似QQ好友头像hover时显示资料卡的效果(推荐)
2016/06/09 Javascript
浅谈javascript中执行环境(作用域)与作用域链
2016/12/08 Javascript
AngularJS实现自定义指令与控制器数据交互的方法示例
2017/06/19 Javascript
react native实现往服务器上传网络图片的实例
2017/08/07 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
JS常见DOM节点操作示例【创建 ,插入,删除,复制,查找】
2018/05/14 Javascript
js如何获取图片url的Blob值并预览示例代码
2019/03/07 Javascript
使vue实现jQuery调用的两种方法
2019/05/12 jQuery
Python中查看文件名和文件路径
2017/03/31 Python
python Pandas 读取txt表格的实例
2018/04/29 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
python+mysql实现学生信息查询系统
2019/02/21 Python
python实现倒计时小工具
2019/07/29 Python
Python使用进程Process模块管理资源
2020/03/05 Python
Python Mock模块原理及使用方法详解
2020/07/07 Python
在Python中字典按值排序的实现方法
2020/11/12 Python
python 如何读、写、解析CSV文件
2021/03/03 Python
Myprotein中国网站:欧洲畅销运动营养品牌
2021/02/11 全球购物
某IT外企面试题-二分法求方程!看看大家的C++功底
2015/07/04 面试题
大学生怎样写好自荐信
2014/02/25 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
银行优秀员工事迹材料
2014/05/29 职场文书
空气环保标语
2014/06/12 职场文书
国际经济贸易专业自荐信
2014/06/13 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL
golang的文件创建及读写操作
2022/04/14 Golang