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 相关文章推荐
攻克CakePHP系列三 表单数据增删改
Oct 22 PHP
thinkphp连贯操作实例分析
Nov 22 PHP
C# WinForm中实现快捷键自定义设置实例
Jan 23 PHP
php实现四舍五入的方法小结
Mar 03 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
PHP实现的一致性哈希算法完整实例
Nov 14 PHP
php制作圆形用户头像的实例_自定义封装类源代码
Sep 18 PHP
PHP的mysqli_sqlstate()函数讲解
Jan 23 PHP
PDO::commit讲解
Jan 27 PHP
在thinkphp5.0路径中实现去除index.php的方式
Oct 16 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 PHP
Yii框架组件的事件机制原理与用法分析
Apr 07 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边学边教》(01.开篇――准备工作)
2006/12/13 PHP
PHP6连接SQLServer2005的三部曲
2016/04/15 PHP
Laravel5.1框架注册中间件的三种场景详解
2019/07/09 PHP
web页面数据展示新想法(json)
2010/06/08 Javascript
用JavaScript对JSON进行模式匹配 (Part 2 - 实现)
2010/07/17 Javascript
收集json解析的四种方法分享
2014/01/17 Javascript
jQuery trigger()方法用法介绍
2015/01/13 Javascript
日常收集整理的JavaScript常用函数方法
2015/12/10 Javascript
Node.js的Express框架使用上手指南
2016/03/12 Javascript
Jquery EasyUI实现treegrid上显示checkbox并取选定值的方法
2016/04/29 Javascript
json定义及jquery操作json的方法
2016/09/29 Javascript
微信小程序 省市区选择器实例详解(附源码下载)
2017/01/05 Javascript
vue2.0父子组件及非父子组件之间的通信方法
2017/01/21 Javascript
React中ES5与ES6写法的区别总结
2017/04/21 Javascript
Web制作验证码功能实例代码
2017/06/19 Javascript
在Vue中如何使用Cookie操作实例
2017/07/27 Javascript
微信小程序之选项卡的实现方法
2017/09/29 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
vue 实现单选框设置默认选中值
2019/11/07 Javascript
JS实现4位随机验证码
2020/10/19 Javascript
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
python算法学习之桶排序算法实例(分块排序)
2013/12/18 Python
深入解析Python中的上下文管理器
2016/06/28 Python
Python做文本按行去重的实现方法
2016/10/19 Python
Python 内置函数complex详解
2016/10/23 Python
读取json格式为DataFrame(可转为.csv)的实例讲解
2018/06/05 Python
通过Pandas读取大文件的实例
2018/06/07 Python
PyQt5的PyQtGraph实践系列3之实时数据更新绘制图形
2019/05/13 Python
10款最好的Python开发编辑器
2019/07/03 Python
python xlwt如何设置单元格的自定义背景颜色
2019/09/03 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
html5实现多文件的上传示例代码
2014/02/13 HTML / CSS
奥地利智能家居和智能生活网上商店:tink.at
2019/10/07 全球购物
社会发展项目建议书
2014/08/25 职场文书
民政局副局长民主生活会个人整改措施
2014/10/04 职场文书
小程序wx.getUserProfile接口的具体使用
2021/06/02 Javascript