您的位置:首页 > 编程语言 > PHP开发

thinkphp分页显示

2015-10-28 16:17 651 查看
先在Common\Comon里建一个function.php公共方法,然后在里面新建一个getpage方法,代码如下:

<?php
/**
* 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','<li class="rows">共<b>%TOTAL_ROW%</b>条记录  每页<b>%LIST_ROW%</b>条  第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
$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;
}
?>


然后在控制器里调用此方法:

public function consumerList(){
$m=M('consumer');
$p=getpage($m,$where,20);
$this->data=$m->field(true)->where($where)->order('id desc')->select();
$this->page=$p->show();
$this->display();
}


再然后给分页添加样式:

/*分页样式*/
.rows{
display:inline;
list-style-type:none;
}
.num{
padding-left:5px;
}
.current{
margin-left: 3px;
padding:5px;
color:white;
background: gray
}


最后在需要的位置直接调用分配过来的分页信息就行了,如{$page},注意:不用在它外层再添加div或其他标签了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: