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中调用JAVA
Oct 09 PHP
PHP中显示格式化的用户输入
Oct 09 PHP
测试您的 PHP 水平的题目
May 30 PHP
php Smarty 字符比较代码
Feb 27 PHP
PHP设计模式 注册表模式
Feb 05 PHP
php+MySQL判断update语句是否执行成功的方法
Aug 28 PHP
php使用Cookie控制访问授权的方法
Jan 21 PHP
PHP+AJAX实现投票功能的方法
Sep 28 PHP
深入浅析php json 格式控制
Dec 24 PHP
降低PHP Redis内存占用
Mar 23 PHP
利用php的ob缓存机制实现页面静态化方法
Jul 09 PHP
PHP实现的AES 128位加密算法示例
Sep 16 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
一个可查询所有表的“通用”查询分页类
2006/10/09 PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
2010/11/02 PHP
20个PHP常用类库小结
2011/09/11 PHP
基于AppServ,XAMPP,WAMP配置php.ini去掉警告信息(NOTICE)的方法详解
2013/05/07 PHP
详解PHP内置访问资源的超时时间 time_out file_get_contents read_file
2013/06/03 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
php写入、删除与复制文件的方法
2015/06/20 PHP
实现WordPress主题侧边栏切换功能的PHP脚本详解
2015/12/14 PHP
php语言的7种基本的排序方法
2020/12/28 PHP
php单元测试phpunit入门实例教程
2017/11/17 PHP
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
2013/01/24 Javascript
多种方式实现JS调用后台方法进行数据交互
2013/08/20 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
AngularJS基础 ng-mouseleave 指令详解
2016/08/02 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
浅析script标签中的defer与async属性
2016/11/30 Javascript
使用jQuery卸载全部事件的思路详解
2017/04/03 jQuery
JQuery Ajax 异步操作之动态添加节点功能
2017/05/24 jQuery
js实现从左向右滑动式轮播图效果
2017/07/07 Javascript
JS+Canvas绘制动态时钟效果
2017/11/10 Javascript
jQuery实现当拉动滚动条到底部加载数据的方法分析
2019/01/24 jQuery
JavaScript中Dom操作实例详解
2019/07/08 Javascript
零基础写python爬虫之urllib2使用指南
2014/11/05 Python
python实用代码片段收集贴
2015/06/03 Python
Python并行分布式框架Celery详解
2018/10/15 Python
Django unittest 设置跳过某些case的方法
2018/12/26 Python
python文件写入write()的操作
2019/05/14 Python
简单了解Python生成器是什么
2019/07/02 Python
python实现单链表的方法示例
2019/09/03 Python
Python跑循环时内存泄露的解决方法
2020/01/13 Python
python写文件时覆盖原来的实例方法
2020/07/22 Python
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
元旦晚会开场白
2015/05/29 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
班级管理经验交流材料
2015/11/02 职场文书
CSS实现切角+边框+投影+内容背景色渐变效果
2021/11/01 HTML / CSS