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 相关文章推荐
Smarty模板快速入门
Jan 04 PHP
php MySQL与分页效率
Jun 04 PHP
PHP CLI模式下的多进程应用分析
Jun 03 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
Zend Framework页面缓存实例
Jun 25 PHP
ThinkPHP中公共函数路径和配置项路径的映射分析
Nov 22 PHP
PHP简单判断字符串是否包含另一个字符串的方法
Mar 25 PHP
ThinkPHP5.1表单令牌Token失效问题的解决
Mar 22 PHP
PHP设计模式之抽象工厂模式实例分析
Mar 25 PHP
PHP goto语句用法实例
Aug 06 PHP
PHP随机生成中文段落示例【测试网站内容时使用】
Apr 26 PHP
PHP重载基础知识回顾
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
日本因肺炎疫情影响,这几部动漫推延播放!
2020/03/03 日漫
Windows下Apache + PHP SESSION丢失的解决过程全纪录
2015/04/07 PHP
PHP实现冒泡排序的简单实例
2016/05/26 PHP
PHP实现的mysql主从数据库状态检测功能示例
2017/07/20 PHP
基于jquery的从一个页面跳转到另一个页面的指定位置的实现代码(带平滑移动的效果)
2011/05/24 Javascript
JS 仿腾讯发表微博的效果代码
2013/12/25 Javascript
jQuery 获取/设置/删除DOM元素的属性以a元素为例
2014/05/23 Javascript
Javascript this 关键字 详解
2014/10/22 Javascript
node.js中的fs.fchown方法使用说明
2014/12/16 Javascript
使用jQuery不判断浏览器高度解决iframe自适应高度问题
2014/12/16 Javascript
JS实现单行文字不间断向上滚动的方法
2015/01/29 Javascript
JavaScript常用数组算法小结
2016/02/13 Javascript
JavaScript接口的实现三种方式(推荐)
2016/06/14 Javascript
微信小程序 Audio API详解及实例代码
2016/09/30 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
Js利用Canvas实现图片压缩功能
2017/09/13 Javascript
详解使用vuex进行菜单管理
2017/12/21 Javascript
javaScript产生随机数的用法小结
2018/04/21 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
详解JS实现系统登录页的登录和验证
2019/04/29 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
jQuery实现的移动端图片缩放功能组件示例
2020/05/01 jQuery
python实现DNS正向查询、反向查询的例子
2014/04/25 Python
Python 按比例获取样本数据或执行任务的实现代码
2020/12/03 Python
python 基于opencv实现图像增强
2020/12/23 Python
简述安装Slackware Linux系统的过程
2012/01/12 面试题
30年同学聚会感言
2014/01/30 职场文书
授权委托书怎么写
2014/04/03 职场文书
抵押贷款承诺书
2014/05/30 职场文书
政协会议宣传标语
2014/10/09 职场文书
写给老师的感谢信
2015/01/20 职场文书
琅琊山导游词
2015/02/05 职场文书
党员理论学习心得体会
2016/01/21 职场文书
《学会生存》读后感3篇
2019/12/09 职场文书
Pytorch 实现变量类型转换
2021/05/17 Python
使用RedisTemplat实现简单的分布式锁
2021/11/20 Redis