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中与数组相关的函数
Mar 22 PHP
php读取javascript设置的cookies的代码
Apr 12 PHP
基于header的一些常用指令详解
Jun 06 PHP
php多维数组去掉重复值示例分享
Mar 02 PHP
一组PHP加密解密函数分享
Jun 05 PHP
destoon官方标签大全
Jun 20 PHP
php获取用户浏览器版本的方法
Jan 03 PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 PHP
PHP 二维array转换json的实例讲解
Aug 21 PHP
tp5.1 框架查询表达式用法详解
May 25 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
Oct 27 PHP
php微信小程序解包过程实例详解
Mar 31 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
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
Laravel 模型关联基础教程详解
2019/09/17 PHP
jQuery get和post 方法传值注意事项
2009/11/03 Javascript
20个非常棒的Jquery实用工具 国外文章
2010/01/01 Javascript
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
jquery+ajax验证不通过也提交表单问题处理
2014/12/12 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
代码分析jQuery四种静态方法使用
2015/07/23 Javascript
通过jquery-ui中的sortable来实现拖拽排序的简单实例
2016/05/24 Javascript
浅谈JQ中mouseover和mouseenter的区别
2016/09/13 Javascript
AngularJS 过滤与排序详解及实例代码
2016/09/14 Javascript
Javascript中数组去重与拍平的方法示例
2017/02/03 Javascript
vue组件发布到npm简单步骤
2017/11/30 Javascript
React-native桥接Android原生开发详解
2018/01/17 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
详解VUE里子组件如何获取父组件动态变化的值
2018/12/26 Javascript
可能被忽略的一些JavaScript数组方法细节
2019/02/28 Javascript
JS使用数组实现的队列功能示例
2019/03/04 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
微信小程序仿今日头条导航栏滚动解析
2019/08/20 Javascript
JS替换字符串中指定位置的字符(多种方法)
2020/05/28 Javascript
Python基础之函数用法实例详解
2014/09/10 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
Spring实战之使用util:命名空间简化配置操作示例
2019/12/09 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
构建高效的python requests长连接池详解
2020/05/02 Python
浅谈TensorFlow之稀疏张量表示
2020/06/30 Python
运动会入场式解说词
2014/02/18 职场文书
2014领导干部四风问题查摆思想汇报
2014/09/13 职场文书
小学假期安全广播稿
2014/09/28 职场文书
幽灵公主观后感
2015/06/09 职场文书
logback如何自定义日志存储
2021/08/30 Java/Android
python工具dtreeviz决策树可视化和模型可解释性
2022/03/03 Python
redis数据一致性的实现示例
2022/03/18 Redis
vue elementUI批量上传文件
2022/04/26 Vue.js