在这里我有先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common\function.php(注意function不是类)中方便其他地方调用,代码如下:
1 <?php 2 /** 3 ?* TODO 基础分页的相同代码封装,使前台的代码更少 4 ?* @param $count 要分页的总记录数 5 ?* @param int $pagesize 每页查询条数 6 ?* @return \Think\Page 7 ?*/ 8 function getpage($count, $pagesize = 10) { 9 ????$p = new Think\Page($count, $pagesize);10 ????$p->setConfig(‘header‘, ‘<li class="rows">共<b>%TOTAL_ROW%</b>条记录
第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>‘);11 ????$p->setConfig(‘prev‘, ‘上一页‘);12 ????$p->setConfig(‘next‘, ‘下一页‘);13 ????$p->setConfig(‘last‘, ‘末页‘);14 ????$p->setConfig(‘first‘, ‘首页‘);15 ????$p->setConfig(‘theme‘, ‘%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%‘);16 ????$p->lastSuffix = false;//最后一页不显示为总页数17 ????return $p;18 }19 ?>
控制器中使用的代码如下:
1 public function showAllUsers() { 2 ????????$m = M(‘User‘); ??????3 ????????$where = "id>10"; 4 ????????$count = $m->where($where)->count(); 5 ????????$p = getpage($count,1); 6 ????????$list = $m->field(true)->where($where)->order(‘id‘)->limit($p->firstRow, $p->listRows)->select(); 7 ????????$this->assign(‘select‘, $list); // 赋值数据集 8 ????????$this->assign(‘page‘, $p->show()); // 赋值分页输出 9 ????????$this->display();10 ????}
接下来在View中的使用 自行处理
其中设置分页的样式mypage.css,如下:
1 .pages a,.pages span { 2 ????display:inline-block; 3 ????padding:2px 5px; 4 ????margin:0 1px; 5 ????border:1px solid #f0f0f0; 6 ????-webkit-border-radius:3px; 7 ????-moz-border-radius:3px; 8 ????border-radius:3px; 9 }10 .pages a,.pages li {11 ????display:inline-block;12 ????list-style: none;13 ????text-decoration:none; color:#58A0D3;14 }15 .pages a.first,.pages a.prev,.pages a.next,.pages a.end{16 ????margin:0;17 }18 .pages a:hover{19 ????border-color:#50A8E6;20 }21 .pages span.current{22 ????background:#50A8E6;23 ????color:#FFF;24 ????font-weight:700;25 ????border-color:#50A8E6;26 }
这样就可以了。
ThinkPHP3.2.3使用分页
原文地址:http://www.cnblogs.com/comeping/p/8067842.html