Code前端首页关于Code前端联系我们

ThinkPHP6带搜索条件的分页解决方案

terry 2年前 (2023-09-24) 阅读数 60 #后端开发

在ThinkPHP6中,实现分页并不难,实现搜索也不难,但是用搜索条件进行搜索却困扰了很多人。在同样的情况下,我们移动了 tp5 代码,发现它不起作用。那么ThinkPHP6中如何解决搜索词分页问题呢?

我们来看看具体场景。我搜索了一个关键字并选择了一个类别来搜索和过滤文章。 ?在第三页上,URL 中没有搜索词。

2。如何解决:

问题的关键已经找到了,那么如何解决呢?首先我们去官网手册搜索一下:

ThinkPHP6带搜索条件的分页解决方案

手册里有一个query元素,负责在URL中传递额外的参数,所以很好办。

直接看代码:

$where=[];//筛选条件数组
     if(input('cate_id')){
        $where[] = [
                     ['a.cate_id', '=', $cate_id],
                 ];
     }
     if(input('searchkey')){
        $where[] = [
                     ['title', 'like', '%'.$searchkey.'%'],
                 ];
     }
     $archivesData=Db::name('archives')->alias('a')->
            field('a.id,a.title,a.listorder,b.cate_name,a.time')->
            join('category b','a.cate_id=b.id')->
            where($where)->
            order('a.listorder asc')->//小到大
            order('a.id DESC')->//大-》小
            paginate([
              'list_rows'=> 3,//每页数量
              'query' => request()->param(),
              ]);

这样我们就完美解决了“ThinkPHP6带搜索条件分页”的问题。事实上,如果遇到问题,不要害怕。我们先仔细阅读一下说明书,也许可以解决我们遇到的问题。难题。

来源:php中文网站认证作者:王雪芹

版权声明

本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

热门