在ThinkPHP中实现分页功能可以通过使用TP自带的分页类 \think\paginator\driver\Bootstrap
来实现。
public function index()
{
$list = Db::name('user')->paginate(10); // 获取用户列表,每页显示10条数据
$this->assign('list', $list); // 将列表数据传递给视图
return $this->fetch();
}
paginate()
方法生成分页链接:{volist name="list" id="user"}
<tr>
<td>{$user.id}</td>
<td>{$user.username}</td>
<td>{$user.email}</td>
</tr>
{/volist}
<div class="pagination">
{$list->render()}
</div>
page
参数的名称,以及设置每页显示的数据条数:$list = Db::name('user')->paginate(10, false, [
'query' => Request::instance()->param(),
'var_page' => 'p', // 设置分页参数名称
'list_rows' => 15, // 设置每页显示的数据条数
]);
这样就可以在ThinkPHP中实现分页功能了。需要注意的是,在生成分页链接时需要使用 render()
方法,而且需要将分页链接包裹在一个容器中,以便设置样式。