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 相关文章推荐
玩转虚拟域名◎+ .
Oct 09 PHP
我的论坛源代码(三)
Oct 09 PHP
实用函数7
Nov 08 PHP
PHP substr 截取字符串出现乱码问题解决方法[utf8与gb2312]
Dec 16 PHP
PHP不用第三变量交换2个变量的值的解决方法
Jun 02 PHP
php防止sql注入示例分析和几种常见攻击正则表达式
Jan 12 PHP
PHP框架Laravel学习心得体会
Oct 28 PHP
PHP编写文件多服务器同步程序
Jul 02 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
Sep 22 PHP
PHP+JQUERY操作JSON实例
Mar 23 PHP
PHP substr()函数参数解释及用法讲解
Nov 23 PHP
PHP常用函数之获取汉字首字母功能示例
Oct 21 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
Zerg基本策略
2020/03/14 星际争霸
PHP Session_Regenerate_ID函数双释放内存破坏漏洞
2011/01/27 PHP
php中hashtable实现示例分享
2014/02/13 PHP
PHP+JQUERY操作JSON实例
2017/03/23 PHP
php实现将数据做成json的格式给前端使用
2018/08/21 PHP
Laravel基础_关于view共享数据的示例讲解
2019/10/14 PHP
JavaScript 浮点数运算 精度问题
2009/10/06 Javascript
jQuery中的bind绑定事件与文本框改变事件的临时解决方法
2010/08/13 Javascript
用js判断页面刷新或关闭的方法(onbeforeunload与onunload事件)
2012/06/22 Javascript
javascript简单实现命名空间效果
2014/03/06 Javascript
浅谈轻量级js模板引擎simplite
2015/02/13 Javascript
js下将金额数字每三位一逗号分隔
2016/02/19 Javascript
jQuery中iframe的操作(点击按钮新增窗口)
2016/04/20 Javascript
js中string和number类型互转换技巧(分享)
2016/11/28 Javascript
bootstrap输入框组件使用方法详解
2017/01/19 Javascript
详解JavaScript中的数组合并方法和对象合并方法
2018/05/11 Javascript
thinkjs微信中控之微信鉴权登陆的实现代码
2019/08/08 Javascript
Python中exit、return、sys.exit()等使用实例和区别
2015/05/28 Python
完美解决Pycharm无法导入包的问题 Unresolved reference
2018/05/18 Python
详解Python:面向对象编程
2019/04/10 Python
在python中实现同行输入/接收多个数据的示例
2019/07/20 Python
Python学习笔记之Django创建第一个数据库模型的方法
2019/08/07 Python
浅谈Python3 numpy.ptp()最大值与最小值的差
2019/08/24 Python
解决Python中回文数和质数的问题
2019/11/24 Python
详解如何修改python中字典的键和值
2020/09/29 Python
澳大利亚在线奢侈品时尚零售平台:Azura Runway
2021/01/13 全球购物
EJB3推出JPA的原因
2013/10/16 面试题
学生感冒英文请假条
2014/02/04 职场文书
农民工讨薪标语
2014/06/26 职场文书
学习礼仪心得体会
2014/09/01 职场文书
如何签定毕业生就业协议书
2014/09/28 职场文书
幼儿园母亲节活动总结
2015/02/10 职场文书
董事长秘书岗位职责
2015/02/13 职场文书
原告离婚代理词
2015/05/23 职场文书
通讯稿格式及范文
2015/07/22 职场文书
python lambda 表达式形式分析
2022/04/03 Python