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

本文详细介绍了在ThinkPHP6中实现带搜索条件分页的方法,通过正确使用query参数,确保了搜索条件能在翻页时得以保留,解决了常见难题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在ThinkPHP6中,实现分页不难,实现搜索也不难,但是带搜索条件的搜索却难倒很多人。同样的情况下,我们把tp5的代码搬过来,发现并不好使,那么ThinkPHP6带搜索条件的分页应该如何解决呢?

我们看下具体情景,我搜索了一个关键字,并且选择了分类进行文章的搜索筛选。

一、查找问题
首先我们先看下带搜索条件的第一页:
在这里插入图片描述
然后我们再看下第二页:
在这里插入图片描述
仔细的小伙伴会发现,在第二页、第三页的时候URL中没有带搜索条件。

二、如何解决:

问题关键已经找到了,那么如何解决呢?我们先去官网手册找一找:
在这里插入图片描述
在手册中,有个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带搜索条件的分页“这个问题完美解决了,其实遇到问题不要怕,我们先仔细看看手册,说不定就能解决我们遇到的难题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王雪芹老师

买块糖吃

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值