TP3.2框架手册,有一个数据分页,不过每次都要写太多的代码,还有中文设置等有些麻烦,做为程序开发者,有必要整理下:
O、先看效果图
一、分页方法
-
/**
-
* TODO 基础分页的相同代码封装,使前台的代码更少
-
* @param $m 模型,引用传递
-
* @param $where 查询条件
-
* @param int $pagesize 每页查询条数
-
* @return \Think\Page
-
*/
-
function getpage(&$m,$where,$pagesize=10){
-
$m1=clone $m;//浅复制一个模型
-
$count = $m->where($where)->count();//连惯操作后会对join等操作进行重置
-
$m=$m1;//为保持在为定的连惯操作,浅复制一个模型
-
$p=new Think\Page($count,$pagesize);
-
$p->lastSuffix=false;
-
$p->setConfig('header','
- 共%TOTAL_ROW%条记录 每页%LIST_ROW%条 第%NOW_PAGE%页/共%TOTAL_PAGE%页
');
-
$p->setConfig('prev','上一页');
-
$p->setConfig('next','下一页');
-
$p->setConfig('last','末页');
-
$p->setConfig('first','首页');
-
$p->setConfig('theme','%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
-
-
$p->parameter=I('get.');
-
-
$m->limit($p->firstRow,$p->listRows);
-
-
return $p;
-
}
getpage方法可以放在TP框架的 Application/Common/Common/function.php,这个文档可以专门放置一些通用的方法,在哪里都可以调用(如:Controller文件,View文件等)。
二、调用分页方法
-
$m=M('products');
-
$p=getpage($m,$where,10);
-
$list=$m->field(true)->where($where)->order('id desc')->select();
-
$this->list=$list;
-
$this->page=$p->show();
三。 view展示
-
<div class="pagination">
-
{$page}
-
</div>
阅读(1357) | 评论(0) | 转发(0) |