thinkphp6 分页加参数

tp6 分页类使用


分页实现

ThinkPHP内置了分页实现,要给数据添加分页输出功能变得非常简单,可以直接在Db类查询的时候调用paginate方法:


// 查询状态为1的用户数据 并且每页显示10条数据

$list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10);


// 渲染模板输出

return view('index', ['list' => $list]);

模板文件中分页输出代码如下:


<div>
<ul>
{volist name='list' id='user'}
    <li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$list|raw}

也可以单独赋值分页输出的模板变量


// 查询状态为1的用户数据 并且每页显示10条数据

$list = Db::name('user')->where('status',1)->order('id', 'desc')->paginate(10);


// 获取分页显示

$page = $list->render();
return view('index', ['list' => $list, 'page' => $page]);

模板文件中分页输出代码如下:


<div>
<ul>
{volist name='list' id='user'}
    <li> {$user.nickname}</li>
{/volist}
</ul>
</div>
{$page|raw}

默认情况下,生成的分页输出是完整分页功能,带总分页数据和上下页码,分页样式只需要通过样式修改即可,完整分页默认生成的分页输出代码为:


<ul class="pagination">
<li><a href="?page=1">&laquo;</a></li>
<li><a href="?page=1">1</a></li>
<li class="active"><span>2</span></li>
<li class="disabled"><span>&raquo;</span></li>
</ul>

如果你需要单独获取总的数据,可以使用


// 查询状态为1的用户数据 并且每页显示10条数据

$list = Db::name('user')->where('status',1)->order('id' ,'desc')->paginate(10);

// 获取总记录数

$count = $list->total();
return view('index', ['list' => $list, 'count' => $count]);

传入总记录数

支持传入总记录数而不会自动进行总数计算,例如:


// 查询状态为1的用户数据 并且每页显示10条数据 总记录数为1000

$list = Db::name('user')->where('status',1)->paginate(10,1000);

// 获取分页显示

$page = $list->render();
return view('index', ['list' => $list,  'count' => $count]);

版权声明:
作者:超级管理员
链接: https://blog.apecloud.ltd/article/detail.html?id=100
来源:猿码云个人技术站
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
打赏
/static/admin/img/weixin.jpg/static/admin/img/zfb.jpg
<<上一篇>
Centos7上编译安装PHP-7.2.26
下一篇>>