当我们用自己的模型来获取数据,并且需要进行分页的时候
在UserModel模型中设置数据库以及查询数据库中数据的数量
protected $tableName='user';
public function getAllUser($p){
$result=$this->limit($p->firstRow, $p->listRows)->select();
return $result;
}
在Application/Common/common/function.php中添加个分页方法,这个方法可以在不同模块中调用
function getpage($db, $pagesize = 10) {
$count= $db->count();
$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;
}
在控制器中的方法中进行模型的实例化以及方法的调用
public function show() {
$user =new \Home\Model\UserModel();
$page=getpage($user);
$list = $user->getAllUser($page);
$this->assign('select', $list); // 赋值数据集
$this->assign('page', $page->show()); // 赋值分页输出
$this->display();
}