thinkPHP实现多字段模糊匹配查询的方法


Posted in PHP onDecember 01, 2016

本文实例讲述了thinkPHP实现多字段模糊匹配查询的方法。分享给大家供大家参考,具体如下:

引言:有时候查询要匹配多个字段。比如查询地址,地址是由多个字段组成的。有省、市、区等等,以及详细地址。这个时候如何查询呢?

实现不同字段相同的查询条件

$User = M("User"); // 实例化User对象
$map['name|title'] = 'thinkphp';
// 把查询条件传入查询方法
$User->where($map)->select();

用到项目中

if ($address) {
  // 地址查询
  $where['b.province|b.city|b.area|b.detail'] = array('like', '%'.$address.'%');
        $this->assign('address', $address);
}

这里就很简单的解决了这个需求,而且很精准。

生成的sql语句如下

SELECT a.*,b.name,b.tel,b.province,b.city,b.area,b.detail,b.zipcode
FROM sh_order a
LEFT JOIN sh_member_address b on a.member_id = b.member_id and b.selected = 1
WHERE ( `store_id` = '10' ) AND ( a.member_id IN ('7') ) AND ( (b.province LIKE '%宿城区%') OR (b.city LIKE '%宿城区%') OR (b.area LIKE '%宿城区%') OR (b.detail LIKE '%宿城区%') )
ORDER BY addtime desc, sendtime asc, paytime desc
LIMIT 0,10

从sql语句中可以看出,where中的括号,AND,OR组合的很巧妙。

截图如下

thinkPHP实现多字段模糊匹配查询的方法

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

PHP 相关文章推荐
php入门学习知识点二 PHP简单的分页过程与原理
Jul 14 PHP
PHP隐形一句话后门,和ThinkPHP框架加密码程序(base64_decode)
Nov 02 PHP
PHP对MongoDB[NoSQL]数据库的操作
Mar 01 PHP
zend framework文件上传功能实例代码
Dec 25 PHP
CodeIgniter框架过滤HTML危险代码
Jun 12 PHP
采用memcache在web集群中实现session的同步会话
Jul 05 PHP
微信公众号开发之微信公共平台消息回复类实例
Nov 14 PHP
php延迟静态绑定实例分析
Feb 08 PHP
PHP简单检测网址是否能够正常打开的方法
Sep 04 PHP
PHP入门教程之日期与时间操作技巧总结(格式化,验证,获取,转换,计算等)
Sep 11 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
php连接mysql数据库最简单的实现方法
Sep 24 PHP
thinkPHP商城公告功能开发问题分析
Dec 01 #PHP
thinkPHP订单数字提醒功能的实现方法
Dec 01 #PHP
PHP 芝麻信用接入的注意事项
Dec 01 #PHP
PHP中静态变量的使用方法实例分析
Dec 01 #PHP
php版阿里云OSS图片上传类详解
Dec 01 #PHP
thinkPHP线上自动加载异常与修复方法实例分析
Dec 01 #PHP
PHP通过引用传递参数用法分析
Dec 01 #PHP
You might like
CI框架自动加载session出现报错的解决办法
2014/06/17 PHP
PHP使用ffmpeg给视频增加字幕显示的方法
2015/03/12 PHP
PHP中类与对象功能、用法实例解读
2020/03/27 PHP
yii2.0框架数据库操作简单示例【添加,修改,删除,查询,打印等】
2020/04/13 PHP
可输入的下拉框
2006/06/19 Javascript
js判断变量是否空值的代码
2008/10/26 Javascript
jQuery 注意事项 与原因分析
2009/04/24 Javascript
ExtJS 2.2.1的grid控件在ie6中的显示问题
2009/05/04 Javascript
JS+CSS实现模仿浏览器网页字符查找功能的方法
2015/02/26 Javascript
jquery实现拖动效果
2016/08/10 Javascript
js提示框替代系统alert,自动关闭alert对话框的实现方法
2016/11/07 Javascript
jQuery插件FusionCharts绘制2D柱状图和折线图的组合图效果示例【附demo源码】
2017/04/10 jQuery
Angular 4.x 动态创建表单实例
2017/04/25 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
Vue 多层组件嵌套二种实现方式(测试实例)
2017/09/08 Javascript
Vue的elementUI实现自定义主题方法
2018/02/23 Javascript
微信小程序实现图片滚动效果示例
2018/12/05 Javascript
ES6 更易于继承的类语法的使用
2019/02/11 Javascript
JS使用栈判断给定字符串是否是回文算法示例
2019/03/04 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
python通过文件头判断文件类型
2015/10/30 Python
Python 3.6 性能测试框架Locust安装及使用方法(详解)
2017/10/11 Python
python数据类型判断type与isinstance的区别实例解析
2017/10/31 Python
Python实现定时备份mysql数据库并把备份数据库邮件发送
2018/03/08 Python
tensorflow实现逻辑回归模型
2018/09/08 Python
Python3利用Dlib实现摄像头实时人脸检测和平铺显示示例
2019/02/21 Python
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
python判断自身是否正在运行的方法
2019/08/08 Python
如何使用python进行pdf文件分割
2019/11/11 Python
python实现TCP文件传输
2020/03/20 Python
Python GUI编程学习笔记之tkinter中messagebox、filedialog控件用法详解
2020/03/30 Python
大学生村官事迹材料
2014/01/21 职场文书
创业女性典型材料
2014/05/02 职场文书
同学聚会祝酒词
2015/08/10 职场文书
node.js如何自定义实现一个EventEmitter
2021/07/16 Javascript