1 . 在这里我先把page的设置做成了一个函数getpage,将这个方法放到Application\Common\Common\function.php(注意function不是类)中方便其他地方调用,代码如下:
<?php
/**
* TODO 基础分页的相同代码封装,使前台的代码更少
* @param $count 要分页的总记录数
* @param int $pagesize 每页查询条数
* @return \Think\Page
*/
function getpage($count, $pagesize = 3) {
$Page = new Think\Page($count, $pagesize);
$Page->setConfig('header', '<li class="rows">共<b>%TOTAL_ROW%</b>条记录 第<b>%NOW_PAGE%</b>页/共<b>%TOTAL_PAGE%</b>页</li>');
$Page->setConfig('prev', '上一页');
$Page->setConfig('next', '下一页');
$Page->setConfig('last', '末页');
$Page->setConfig('first', '首页');
$Page->setConfig('theme', '%FIRST%%UP_PAGE%%LINK_PAGE%%DOWN_PAGE%%END%%HEADER%');
$Page->lastSuffix = false;//最后一页不显示为总页数
return $Page;
}
?>
2. 控制器
public function liebiao(){
$m = M('User');
$count = $m->count();
$p = getpage($count,2);
$list = $m->field(true)->limit($p->firstRow, $p->listRows)->select();
$this->assign('list',$list);// 赋值数据集
$this->assign('page', $p->show()); // 赋值分页输出
$this->display('list'); // 输出模板
}
3 . 视图
<html>
<meta http-type="Content-type";content="text/html;charset=UTF-8" />
<head>
<title>列表</title>
<link href="__ROOT__/Public/Css/pages.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<volist name="list" id="vo">
<center>
{$vo.uname}
</center>
</volist>
<div class="pages">{$page}</div>
</body>
</html>
4.样式pages.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;
}