thinkphp 5.0+ 点击分页带上其他参数
2017-06-14 13:52
399 查看
thinkphp5.0+ 下的分页方法,文件地址是:thinkphp\thinkphp\library\think\db\Query.php
很多时候我们都需要根据条件查询数据,直接get提交查询的话就会生成所谓的叫做普通模式路由模式,然鹅我们使用paginate这个方法只传第一个参数的时候,点击分页发现搜索的参数并没有带上,所以我们就要用到后面的参数了,第二个参数simple:简洁模式或者总记录数—−这里不讨论,第三个参数config : 配置参数,
page:当前页,
path:url路径,
query:url额外参数,
fragment:url锚点,
var_page:分页变量,
list_rows:每页数量
type:分页类名
这里有一个 query:url额外参数,,我们加上这个配置参数就可以把搜索的条件带上了。
/** * 分页查询 * @param int|null $listRows 每页数量 * @param int|bool $simple 简洁模式或者总记录数 * @param array $config 配置参数 * page:当前页, * path:url路径, * query:url额外参数, * fragment:url锚点, * var_page:分页变量, * list_rows:每页数量 * type:分页类名 * @return \think\paginator\Collection * @throws DbException */ public function paginate($listRows = null, $simple = false, $config = []) { if (is_int($simple)) { $total = $simple; $simple = false; } $config = array_merge(Config::get('paginate'), $config); $listRows = $listRows ?: $config['list_rows']; /** @var Paginator $class */ $class = false !== strpos($config['type'], '\\') ? $config['type'] : '\\think\\paginator\\driver\\' . ucwords($config['type']); $page = isset($config['page']) ? (int) $config['page'] : call_user_func([ $class, 'getCurrentPage', ], $config['var_page']); $page = $page < 1 ? 1 : $page; $config['path'] = isset($config['path']) ? $config['path'] : call_user_func([$class, 'getCurrentPath']); if (!isset($total) && !$simple) { $options = $this->getOptions(); $bind = $this->bind; $total = $this->count(); $results = $this->options($options)->bind($bind)->page($page, $listRows)->select(); } elseif ($simple) { $results = $this->limit(($page - 1) * $listRows, $listRows + 1)->select(); $total = null; } else { $results = $this->page($page, $listRows)->select(); } return $class::make($results, $listRows, $page, $total, $simple, $config); }
很多时候我们都需要根据条件查询数据,直接get提交查询的话就会生成所谓的叫做普通模式路由模式,然鹅我们使用paginate这个方法只传第一个参数的时候,点击分页发现搜索的参数并没有带上,所以我们就要用到后面的参数了,第二个参数simple:简洁模式或者总记录数—−这里不讨论,第三个参数config : 配置参数,
page:当前页,
path:url路径,
query:url额外参数,
fragment:url锚点,
var_page:分页变量,
list_rows:每页数量
type:分页类名
这里有一个 query:url额外参数,,我们加上这个配置参数就可以把搜索的条件带上了。
前面省略 ->paginate(20, false, [ 'query' => input('param.'), ]);
相关文章推荐
- thinkphp5.0中分页后传递查询参数
- ThinkPHP page添加分页参数
- thinkphp5.0分页
- thinkphp5多条件模糊查询以及多条件查询带分页如何保留参数
- Extjs 4.2 grid 分页问题,点击下一页参数没带过去
- Thinkphp5.0分页和跳页
- thinkphp5 paginate 分页参数
- thinkphp5内置分页功能第二页没有拿到参数,如何解决?
- ThinkPHP分页丢失参数的解决办法
- thinkphp5 分页带参数的解决办法
- thinkphp5.0 验证码调用及点击图片刷新
- thinkPHP传数组到模板页面volist每一列加一个button,点击按钮携带参数传给JS函数,跳转到不同的方法
- thinkphp 搜索分页后点击页数后又恢复了全部数据
- thinkphp5.0 实现图片验证效果且能点击图片刷新图片
- thinkPHP5.0框架验证码调用及点击图片刷新简单实现方法
- thinkphp5内置分页功能第二页没有拿到参数,如何解决?
- Thinkphp3.2 带中文参数分页错误
- ThinkPHP5.0 API开发前进行配置路由和参数过滤
- 微信实验十六 ThinkPHP5.0用户查询分页
- Thinkphp5之ajax分页实现_paginate()参数详细