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 编写安全的代码时容易犯的错误小结
May 20 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
基于PHP对XML的操作详解
Jun 07 PHP
PHP获取网页标题的3种实现方法代码实例
Apr 11 PHP
thinkphp中session和cookie无效的解决方法
Dec 19 PHP
PHP连接MSSQL时nvarchar字段长度被截断为255的解决方法
Dec 25 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
php实现留言板功能(代码详解)
Mar 28 PHP
stripos函数知识点实例分享
Feb 11 PHP
实例说明js脚本语言和php脚本语言的区别
Apr 04 PHP
PHP rmdir()函数的用法总结
Jul 02 PHP
Laravel5.5+ 使用API Resources快速输出自定义JSON方法详解
Apr 06 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 操作excel文件的方法小结
2009/12/31 PHP
php打开远程文件的方法和风险及解决方法
2013/11/12 PHP
让PHP显示Facebook的粉丝数量方法
2014/01/08 PHP
PHP SESSION的增加、删除、修改、查看操作
2015/03/20 PHP
如何使用php脚本给html中引用的js和css路径打上版本号
2015/11/18 PHP
PHP Yaf框架的简单安装使用教程(推荐)
2016/06/08 PHP
php实现的网页版剪刀石头布游戏示例
2016/11/25 PHP
laravel框架使用极光推送消息操作示例
2020/02/15 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
jquery 滚动条事件简单实例
2013/07/12 Javascript
Jquery动态添加输入框的方法
2015/05/29 Javascript
js简单判断flash是否加载完成的方法
2016/06/21 Javascript
使用Ajax与服务器(JSON)通信实例
2016/11/04 Javascript
详解Weex基于Vue2.0开发模板搭建
2017/03/20 Javascript
微信小程序新增的拖动组件movable-view使用教程
2017/05/20 Javascript
小程序如何使用分包加载的实现方法
2019/05/22 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[49:08]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.27
2020/12/01 DOTA
python正则表达式match和search用法实例
2015/03/26 Python
hmac模块生成加入了密钥的消息摘要详解
2018/01/11 Python
Python3利用print输出带颜色的彩色字体示例代码
2019/04/08 Python
python进阶之自定义可迭代的类
2019/08/20 Python
.dcm格式文件软件读取及python处理详解
2020/01/16 Python
Django中FilePathField字段的用法
2020/05/21 Python
HTML5 Canvas 破碎重组的视频特效的示例代码
2019/09/24 HTML / CSS
客户表扬信范文
2014/01/10 职场文书
写好自荐信需做到的5要点
2014/03/07 职场文书
学生安全承诺书
2014/05/22 职场文书
超市周年庆活动方案
2014/08/16 职场文书
大学生党员自我批评思想汇报
2014/10/10 职场文书
初中生散播谣言检讨书
2014/11/17 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
2015年七一建党节演讲稿
2015/03/19 职场文书
Python中异常处理用法
2021/11/27 Python