首页 / 话题 / 后端 / 文章详情

thinkphp点击分页覆盖原有get参数解决办法

一直在的 2022-06-24 | 阅读(914) | 评论(1

最近在做thinkphp项目的时候遇到的一个问题,记录一下最终解决办法

目前的问题是点击分页会覆盖原来的get参数,如:hvzhan.com/code/list-1.html?type=1 那么在有分页的情况下我点击分页会变成:hvzhan.com/code/list-1.html?page=2 这就不是我想要的效果了,我想实现的效果是如果地址栏后面有get参数的时候点击分页让分页在get参数后面追加分页参数,而不是覆盖原来的参数。

查了一下thinkphp开发文档,paginate是可以带参数的,然后研究了下,大概就是这样的:

第一种解决办法:利用request助手函数

$list=Db::name('member')
                     ->where('member_name|member_mobile|sex','like','%'.$info.'%')
                     ->paginate(8,false,['query'=>request()->param() ]);
 $this->assign('list',$list);

这样问题是解决了,分页也会在原来的get参数后追加,但是发现有点问题,利用助手函数会把全部的get参数都携带进去

于是我用的下面这个方法解决:

$config['query'] = ['键'=>'值']; 额外参数

比如我现在网页有两个get参数,一个是type一个是order

我是这样写的:

$config['query'] = ['type'=>$type,'order'=>$order];
$list = Db::name('member')->paginate(15,false,$config);
评论(1)
请登录
请登录后发表评论
  • 月球绝禁监狱 回复于:2022-06-29
    对小白真的很有帮助,写得很全面。

    1111