Thinkphp封装P方法。实现分页效果
Xiangmu[应用级别]/Common/Common/function.php
- 如果没有创建function.php文件 ,请自行创建
在应用函数里直接加入:
<?php
/*
* %FIRST% 首页
* %UP_PAGE% 上一页
* %LINK_PAGE% 分页列表
* %DOWN_PAGE% 下一页
* %END% 尾页
* %TOTAL_ROW% 总条数
* %TOTAL_PAGE% 总页数
* %NOW_PAGE% 当前页
* $count 总条数
* $page 第几页
* $map 搜索参数
*/
function P($count, $page, $map) {
$Page = new \Think\Page($count, $page);
$Page -> setConfig('header', '<span style="float: right;">当前第:%NOW_PAGE%页 共:%TOTAL_ROW%条 %TOTAL_PAGE%页 </span>');
$Page -> setConfig('prev', '上一页');
$Page -> setConfig('next', '下一页');
$Page -> setConfig('first', '首页');
$Page -> setConfig('last', '尾页');
$Page -> setConfig('theme', '%FIRST% %UP_PAGE% %LINK_PAGE% %DOWN_PAGE% %END% %HEADER%');
$Page -> rollPage = 9;
$Page -> lastSuffix = false;
foreach ($map as $key => $val) {
$Page -> parameter[$key] = urlencode($val);
}
return $Page -> show();
}
调用方法
文件位置:Xiangmu[应用级别]/Admin[分级别]/Controller/XxxController.class.php
public function index() {
$p = I('get.p','1','int');
$map['ab_content'] = array('eq','999');
$count = M('aboutus') ->where($map) -> count();
$data = M('aboutus') ->where($map) -> page($p ,$page = '5') -> select();
$page = P($count, $page, $map);
$this -> assign('page', $page);
$this -> assign('list', $data);
$this -> display();
}
HTML+CSS代码
文件目录;View
<div class="panel panel-default">
<div class="panel-bd">
<!-- 分页效果 -->
<style type="text/css">
.current{
display: inline-block;
padding: 4px 12px;
margin: 0 2px;
color: white;
background-color: #4bcf99;
border: 1px solid #4bcf99;
vertical-align: middle;
}
.num{
color: #3d3d3d;
display: inline-block;
padding: 4px 12px;
border: 1px solid #ededed;
margin: 0 2px;
vertical-align: middle;
}
.prev{
color: #3d3d3d;
display: inline-block;
padding: 4px 12px;
border: 1px solid #ededed;
margin: 0 2px;
vertical-align: middle;
}
.next{
color: #3d3d3d;
display: inline-block;
padding: 4px 12px;
border: 1px solid #ededed;
margin: 0 2px;
vertical-align: middle;
}
.end{
color: #3d3d3d;
display: inline-block;
padding: 4px 12px;
border: 1px solid #ededed;
margin: 0 2px;
vertical-align: middle;
}
.first{
color: #3d3d3d;
display: inline-block;
padding: 4px 12px;
border: 1px solid #ededed;
margin: 0 2px;
vertical-align: middle;
}
</style>
{$page}
</div>
</div>