ThinkPHP/Common/functions.php公共函数:
/**
* TODO 基础分页的相同代码封装,使前台的代码更少
* Method getPage
* @param $count 要分页的总记录数
* @param int $pagesize 每页查询条数
* @return \Think\Page
* user:Administrator
* time:2019/5/14 0014 14:57
*/
function getPage($count, $pagesize = 3)
{
$p = new Think\Page($count, $pagesize);
$p->setConfig('header', '<li class="rows">共<b>%TOTAL_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->lastSuffix = false;//最后一页不显示为总页数
return $p;
}
Controller控制器函数:
public function lst(){
$cate = D("cate");
$count = $cate->order("id desc")->count();// 查询满足要求的总记录数
$p = getPage($count,3);
$show = $p->show();
$cateres = $cate->order('id desc')->limit($p->firstRow.','.$p->listRows)->select();
$this->assign('page',$show);// 赋值分页输出
$this->assign('cateres',$cateres);
$this->display();
}
View视图:
<div class="pages">
{$page}
</div>
Css样式:
.pages a,
.pages span {
display: inline-block;
padding: 2px 5px;
margin: 0 1px;
border: 1px solid #f0f0f0;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}
.pages a,
.pages li {
display: inline-block;
list-style: none;
text-decoration: none;
color: #58A0D3;
}
.pages a.first,
.pages a.prev,
.pages a.next,
.pages a.end {
margin: 0;
}
.pages a:hover {
border-color: #50A8E6;
}
.pages span.current {
background: #50A8E6;
color: #FFF;
font-weight: 700;
border-color: #50A8E6;
}
效果图:
借鉴https://blog.csdn.net/hyy1206317124/article/details/80157822