MICUU
微资讯
声卡
创新2024全套教程
5.1声卡全套
创新声卡驱动
板载声卡调试全套教程
Sam机架安装
Sam机架
音效助手
专题
文档
技术文档汇总
站内文档
更多
软件
更新日志
关于
装机必备
Gramos模板
光年后台模板
Betube模板
美图
友情链接
站内导航
关于
搜索
退出登录
登录
原创
MySQL中查询2个以上的关键字的查询方法双关键字搜索多关键字查询
2021-01-29
52.51w热度
网站搜索是我们经常要用到的功能,如何优化我们的搜索功能,是每一个程序员的必经之路,这里分享了thinkphp中怎么搜索两个及以上关键字交集的方法实例以及原生sql搜索2个以上关键词的代码。 ``` //原生sql 合集查询 SELECT * FROM zhe_content WHERE title like '%composer%' UNION SELECT * FROM zhe_content WHERE title like '%包文件%' UNION SELECT * FROM zhe_content WHERE title like '%更新%'; SELECT * FROM zhe_content WHERE title like concat('%composer%') or title like concat('%包文件%') //交集查询 SELECT * FROM zhe_content WHERE title like concat('%composer%') and title like concat('%包文件%'); //合集查询 SELECT * FROM `zhe_content` WHERE ( `title` LIKE '%composer%' OR `title` LIKE '%composer%' ) AND `zhe_content`.`delete_time` IS NULL ORDER BY `id` DESC ``` 相信有了原生的sql,大家自己也会组装到框架里面使用了,这里我将我的方法分享出来吧。 ``` $keywords = \think\facade\Request::get("keywords","","trim"); //交集 并集 $arr = explode(" ",$keywords); $find_title = "`title`";//查询的字段 $sql = ''; foreach ( $arr as $key => $keywords){ if($key == 0){ $sql .= "{$find_title} LIKE '%{$keywords}%' "; }else{ $sql .= " AND {$find_title} LIKE '%{$keywords}%'"; } } $list = \app\common\model\Content::with("user") ->where($sql) ->order("id DESC") ->paginate([ 'query'=> $this->params, ]); ``` 以上是查询2个及2个以上关键词的交集,如果是并集,只需要把and改成or就可以了。
注:原创不易,转载请注明出处(
https://micuu.com/new/1366.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2022-02-22
上一篇:
系统更新日志2021年1.29
下一篇:
【更新】利用js将搜索结果标红的代码
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言
珍藏视频
10分钟高效燃脂
30天高效瘦脸操
5分钟缓解颈椎操
友人
微博
全民K歌
唱吧
今日头条
悠悠网
科技小锅盖
彼岸桌面
阮一峰
laravel社区
V2ex
掘金
更多>