加入收藏 | 设为首页 | 会员中心 | 我要投稿 成都站长网 (https://www.028zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

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

发布时间:2022-12-03 08:09:15 所属栏目:PHP教程 来源:转载
导读:

本文为php中文网认证作者:“王雪芹”投稿,欢迎加入!
在ThinkPHP6中php搜索,实现分页不难,实现搜索也不难,但是带搜索条件的搜索却难倒很多人。同样的情况下,我们把tp5的代码搬过来

php 搜索分页_php商品搜索_php搜索

本文为php中文网认证作者:“王雪芹”投稿,欢迎加入!

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

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

一、查找问题

首先我们先看下带搜索条件的第一页:

php商品搜索_php 搜索分页_php搜索

然后我们再看下第二页:

php 搜索分页_php商品搜索_php搜索

仔细的小伙伴会发现,在第二页、第三页的时候URL中没有带搜索条件。

二、如何解决:

php搜索_php商品搜索_php 搜索分页

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

php搜索_php 搜索分页_php商品搜索

在手册中,有个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带搜索条件的分页“这个问题完美解决了,其实遇到问题不要怕,我们先仔细看看手册,说不定就能解决我们遇到的难题。

(编辑:成都站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!