一首先需要在 MsgManage 控制器中加入分页方法
知识点:
1count 函数的试用
2Page 类实例化操作及相关参数了解
3limit 函数了用
4show 函数了解
编辑文件 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 新特性 内容解析输出
二在模板文件中加入分页模块
知识点:
1td 单元格合并
2$page 变量调用显示
编辑文件: admin/Tpl/MsgManage/index.html, 加入一段 tr 用来显示分页相关, 代码如下:
代码如下:
// 新增 tr 代码短
ID | 发布者 | 内容 | 发布时间 | 操作 |
---|---|---|---|---|
{$b.id} | {$b.username} | {$b.content} | {$b.time|date='y-m-d H:i',###} | 删除 |
// 将 5 个单元格合并,并且居中显示 < brow="0"oh="0"> {$page} // 显示控制器中 $this->page 内容 < brow="0"oh="0"> |
来源: https://www.php1.cn/detail/php-d6a53e437a.html