ThinkPHP3.2.3自带的分页用法--很简单实用

jerry thinkphp 2015年11月19日 收藏
把解压后的Page.class.php放入ThinkPHP/Extend/Library/ORG/Util/(如果没有请手动创建)目录下面。
thinkphp 自带的分页非常好用美观,先看一下如下代码片段
    
    $Data = M('Data'); // 实例化Data数据对象  date 是你的表名
    import('ORG.Util.Page');// 导入分页类
    $count = $Data->where($map)->count();// 查询满足要求的总记录数 $map表示查询条件
    $Page = new Page($count);// 实例化分页类 传入总记录数
    $show = $Page->show();// 分页显示输出
    // 进行分页数据查询
    $list = $Data->where($map)->order('id')->limit($Page->firstRow.','.$Page->listRows)->select(); // $Page->firstRow 起始条数 $Page->listRows 获取多少条
    $this->assign('list',$list);// 赋值数据集
    $this->assign('page',$show);// 赋值分页输出
    $this->display(); // 输出模板
如果没有任何数据的话,分页显示为空白。所以在进行测试之前,请确保你的数据表里面有一定的数据,然后,我们在模板中添加分页输出变量即可:
<table cellpadding=3 cellspacing=5>
<volist name="list" id="vo">
<tr>
<td >[ {$vo.create_time|date='Y-m-d H:i:s',###} ] {$vo.title} </td>
</tr>
</volist>
<tr>        
</tr>
</table>
<div class="result page">{$page}</div>
可以看到分页输出只需要采用{$page}变量在模板中输出即可。
分页传值的变量是p,生成的分页跳转地址可能类似于:
http://serverName/index.php/Data/index/p/1   第一页 p =1 
http://serverName/index.php/Data/index/p/2  第二页  p =2
有不懂的到<<thinkphp技术群>>提问, 有老师辅导学习 群号 364702379 文明学习,请理性发言
看看下图的分页效果


附件Page.class.rar ( 2.18 KB 下载:49 次 )