最近在做项目,使用的是thinkphp5(tp5)开发的,使用tp5内置的分页功能。
那么,问题来了,我使用paginate函数生成分页时,若没有第二页是没有关系的,但是当出现分页时,结果没有请求参数。
也就是说,分页如何添加参数,搜索的时候第二页没有参数了,不可能每次手动添加吧?
细细看paginate函数包括三个参数,如下:
/** * 分页查询 * @param int|array $listRows 每页数量 数组表示配置参数 * @param int|bool $simple 是否简洁模式或者总记录数 * @param array $config 配置参数 * page:当前页, * path:url路径, * query:url额外参数, * fragment:url锚点, * var_page:分页变量, * list_rows:每页数量 * type:分页类名 * @return \think\Paginator * @throws DbException */ public function paginate($listRows = null, $simple = false, $config = []) {原来我们可以传配置参数的。那么就很好实现了。
将请求参数带过去就可以了!
模板文件中分页输出代码如下:
<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}