ThinkPHP5.0
内置了分页实现,要给数据添加分页输出功能在5.0
变得非常简单,可以直接在Db
类查询的时候调用paginate
方法:
// 查询状态为1的用户数据 并且每页显示10条数据 $list = Db::name('user')->where('status',1)->paginate(10); // 把分页数据赋值给模板变量list $this->assign('list', $list); // 渲染模板输出 return $this->fetch();
也可以改成模型的分页查询代码:
// 查询状态为1的用户数据 并且每页显示10条数据 $list = User::where('status',1)->paginate(10); // 把分页数据赋值给模板变量list $this->assign('list', $list); // 渲染模板输出 return $this->fetch();
模板文件中分页输出代码如下:
<div> <ul> {volist name='list' id='user'} <li> {$user.nickname}</li> {/volist} </ul> </div> {$list->render()}
也可以单独赋值分页输出的模板变量
// 查询状态为1的用户数据 并且每页显示10条数据 $list = User::where('status',1)->paginate(10); // 获取分页显示 $page = $list->render(); // 模板变量赋值 $this->assign('list', $list); $this->assign('page', $page); // 渲染模板输出 return $this->fetch();
模板文件中分页输出代码如下:
<div> <ul> {volist name='list' id='user'} <li> {$user.nickname}</li> {/volist} </ul> </div> {$page}
默认情况下,生成的分页输出是完整分页功能,带总分页数据和上下页码,分页样式只需要通过样式修改即可,完整分页默认生成的分页输出代码为:
<ul class="pagination"> <li><a href="?page=1">«</a></li> <li><a href="?page=1">1</a></li> <li class="active"><span>2</span></li> <li class="disabled"><span>»</span></li> </ul>