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
PHP下一个非常全面获取图象信息的函数
Nov 20 PHP
ie6 动态缩略图不显示的原因
Jun 21 PHP
PHP自动选择 连接本地还是远程数据库
Dec 02 PHP
关于php连接mssql:pdo odbc sql server
Jul 20 PHP
Thinkphp中import的几个用法详细介绍
Jul 02 PHP
主流PHP框架的优缺点对比分析
Dec 25 PHP
php单一接口的实现方法
Jun 20 PHP
适用于初学者的简易PHP文件上传类
Oct 29 PHP
php+ajax注册实时验证功能
Jul 20 PHP
php实现评论回复删除功能
May 23 PHP
php 中htmlentities导致中文无法查询问题
Sep 10 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
Gregarius中文日期格式问题解决办法
2008/04/22 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
腾讯CMEM的PHP扩展编译安装方法
2015/09/25 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
javascript 冒号 使用说明
2009/06/06 Javascript
JS 获取鼠标左右键的键值方法
2014/10/11 Javascript
谈一谈js中的执行环境及作用域
2016/03/30 Javascript
jquery无法为动态生成的元素添加点击事件的解决方法(推荐)
2016/12/26 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
vue中实现在外部调用methods的方法(推荐)
2018/02/08 Javascript
在vue项目中引入highcharts图表的方法(详解)
2018/03/05 Javascript
基于vue-router 多级路由redirect 重定向的问题
2018/09/03 Javascript
微信小程序Flex布局用法深入浅出分析
2019/04/25 Javascript
微信小程序iBeacon测距及稳定程序的实现解析
2019/07/31 Javascript
微信小程序开发之转发分享功能
2019/10/22 Javascript
[01:16]DOTA2小知识课堂 Ep.03 芒果树无伤肉山
2019/12/05 DOTA
安装Python的web.py框架并从hello world开始编程
2015/04/25 Python
酷! 程序员用Python带你玩转冲顶大会
2018/01/17 Python
使用Python制作微信跳一跳辅助
2018/01/31 Python
详解Python中where()函数的用法
2018/03/27 Python
python检测IP地址变化并触发事件
2018/12/26 Python
如何基于Python获取图片的物理尺寸
2019/11/25 Python
使用pyinstaller逆向.pyc文件
2019/12/20 Python
Anaconda+VSCode配置tensorflow开发环境的教程详解
2020/03/30 Python
windows下的pycharm安装及其设置中文菜单
2020/04/23 Python
利用python绘制中国地图(含省界、河流等)
2020/09/21 Python
python使用requests库爬取拉勾网招聘信息的实现
2020/11/20 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
惊艳的手工时装首饰:Migonne Gavigan
2018/02/23 全球购物
美国电力供应商店/电气批发商:USESI
2018/10/12 全球购物
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
小学生优秀评语
2014/12/29 职场文书
2015年小学语文工作总结
2015/05/25 职场文书
大学生十八大感想
2015/08/11 职场文书
JavaScript前端面试组合函数
2022/06/21 Javascript
TypeScript实用技巧 Nominal Typing名义类型详解
2022/09/23 Javascript