thinkphp5下分页paginate()详解
paginate()可以传递3个参数
paginate($listRows = null, $simple = false, $config = [])
//$listRows 每页显示数据条数
//$simple 是否简洁模式
//$config 额外的配置参数
下面请看基础代码示例
//最基础的使用方法
$list = Db::name('book')->paginate(10);
this->assign('page',$list->render());
$this->assign('list',$list);
return $this->fetch('index/test');
<div style="padding:120px;">
<ul>
{volist name="list" id="vo"}
<li>{$vo.b_title}-{$vo.b_author}</li>
{/volist}
</ul>
{$page}
</div>
前端显示效果如下
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620164927.png)
若第二参数为true
$list = Db::name('book')->paginate(10,true);
效果如下
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620165351.png)
前端只会显示上下页按钮,将不再显示详细页数
接下来主要验证第三参数传参效果
![](http://www.xn--1jq370b.top/wp-content/uploads/2021/06/QQ截图20210620165821-1024x220.png)
1.list_rows
$list = Db::name('book')->paginate(10,false,[ //每页显示的数据条数 //若第一参数$listRows存在,则以第一参数为准 'list_rows' => 5 ]);
2.page
$list = Db::name('book')->paginate(10,false,[ //只显示第二页数据 //即便url链接中page=3,其显示的数据还是page=2时的数据 'page' => 2, ]);
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620171040.png)
3.path
$list = Db::name('book')->paginate(10,false,[ //url路径 //跳转到根目录下 'path' => '/', //跳转到外网 'path' => 'http://www.bookubang.com' ]);
网页链接效果如下
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620171840.png)
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620171901.png)
4.query
$list = Db::name('book')->paginate(10,false,[ //传递额外参数 'query' => ['web'=>'虹光'], ]);
效果如下
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620172332.png)
5.fragment
$list = Db::name('book')->paginate(10,false,[ //页面跳转到你指定的锚点处 'fragment' => 'maodian', ]);
{for start="1" end="100"} <p>这是一条过渡句--{$i}</p> {/for} <div id="maodian" style="padding:20px 150px;"> <ul> {volist name="list" id="vo"} <li>{$vo.b_title}-{$vo.b_author}</li> {/volist} </ul> {$page} </div> {for start="100" end="200"} <p>这是一条过渡句--{$i}</p> {/for}
效果如下
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620173613.png)
添加锚点后,页面将自动跳到所定义的锚点处,不再是页面头部
6.var_page
$list = Db::name('book')->paginate(10,false,[ //分页变量,默认是page,修改后url链接中的page将会变成list 'var_page' => 'list', ]);
前端效果
![](http://runtuchigua.cn/wp-content/uploads/2021/06/QQ截图20210620173953.png)
7.type
$list = Db::name('book')->paginate(10,false,[ //分页类名,类文件在/thinkphp/library/think/paginator/driver下 //默认是bootstrap,修改后将会报错 //若你不喜欢分页的样式风格,可以去文件中修改或者创建类似文件,然后对其替换 'type' => 'bootstrap' ]);