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应用程序来获取Web服务器的状态信息
Oct 09 PHP
基于OpenCV的PHP图像人脸识别技术
Oct 11 PHP
PHP 循环列出目录内容的函数代码
May 26 PHP
PHP header函数分析详解
Aug 06 PHP
深入PHP异步执行的详解
Jun 03 PHP
解析PHP 5.5 新特性
Jul 02 PHP
PHP中strlen()和mb_strlen()的区别浅析
Jun 19 PHP
php获取网页中图片、DIV内容的简单方法
Jun 19 PHP
搭建基于Docker的PHP开发环境的详细教程
Jul 01 PHP
深入解析PHP的Yii框架中的event事件机制
Mar 17 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
PHP 数组基本操作方法详解
Jun 17 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
PHP基于堆栈实现的高级计算器功能示例
2017/09/15 PHP
Laravel5.5 数据库迁移:创建表与修改表示例
2019/10/23 PHP
jQuery 加上最后自己的验证
2009/11/04 Javascript
lyhucSelect基于Jquery的Select数据联动插件
2011/03/29 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
使用JavaScript脚本判断页面是否在微信中被打开
2016/03/06 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
angularjs中使用ng-bind-html和ng-include的实例
2017/04/28 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
ES6学习教程之模板字符串详解
2017/10/09 Javascript
彻底理解js面向对象之继承
2018/02/04 Javascript
Vue仿支付宝支付功能
2018/05/25 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
2018/08/02 Javascript
Vue-router的使用和出现空白页,路由对象属性详解
2018/09/03 Javascript
vue中使用codemirror的实例详解
2018/11/01 Javascript
vue-router实现嵌套路由的讲解
2019/01/19 Javascript
Elasticsearch实现复合查询高亮结果功能
2019/09/10 Javascript
微信小程序点击列表跳转到对应详情页过程解析
2019/09/26 Javascript
使用 Jest 和 Supertest 进行接口端点测试实例详解
2020/04/25 Javascript
JS实现数据动态渲染的竖向步骤条
2020/06/24 Javascript
vue 函数调用加括号与不加括号的区别
2020/10/29 Javascript
[57:24]LGD vs VGJ.T 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python 不同对象比较大小示例探讨
2014/08/21 Python
python文件读写操作与linux shell变量命令交互执行的方法
2015/01/14 Python
Python中的index()方法使用教程
2015/05/18 Python
Python 专题三 字符串的基础知识
2017/03/19 Python
python修改list中所有元素类型的三种方法
2018/04/09 Python
Django 解决model 反向引用中的related_name问题
2020/05/19 Python
Python爬虫中Selenium实现文件上传
2020/12/04 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
英国设计师泳装、沙滩装和比基尼在线精品店:Beach Cafe
2019/08/28 全球购物
大学自我鉴定范文
2013/12/26 职场文书
大学生职业生涯规划书
2014/03/14 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
浅谈Python中对象是如何被调用的
2022/04/06 Python