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下通过POST还是GET来传值
Jun 05 PHP
约瑟夫环问题的PHP实现 使用PHP数组内部指针操作函数
Oct 12 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
Dec 05 PHP
php去除HTML标签实例
Nov 06 PHP
php中数字0和空值的区别分析
Jun 05 PHP
php获取字符串中各个字符出现次数的方法
Feb 23 PHP
分享一个Laravel好用的Cache宏
Mar 02 PHP
Yii使用migrate命令执行sql语句的方法
Mar 15 PHP
yii2中的rules 自定义验证规则详解
Apr 19 PHP
PHP身份证校验码计算方法
Aug 10 PHP
php实现简单的权限管理的示例代码
Aug 25 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 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 日期时间处理函数小结
2009/12/18 PHP
PHP+ajax 无刷新删除数据
2010/02/20 PHP
JavaScript 使用技巧精萃(.net html
2009/04/25 Javascript
javascript完美拖拽的实现方法
2013/09/29 Javascript
谈谈对JavaScript原生拖放的深入理解
2016/09/20 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
关于JavaScript中forEach和each用法浅析
2017/07/27 Javascript
JavaScript时间戳与时间日期间相互转换
2017/12/11 Javascript
vue使用xe-utils函数库的具体方法
2018/03/06 Javascript
vue项目持久化存储数据的实现代码
2018/10/01 Javascript
NodeJS搭建HTTP服务器的实现步骤
2018/10/12 NodeJs
微信小程序实现笑脸评分功能
2018/11/03 Javascript
Angular请求防抖处理第一次请求失效问题
2019/05/17 Javascript
JavaScript异步操作的几种常见处理方法实例总结
2020/05/11 Javascript
[00:33]2016完美“圣”典风云人物:BurNIng宣传片
2016/12/10 DOTA
初学python数组的处理代码
2011/01/04 Python
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
用Python解决x的n次方问题
2019/02/08 Python
Pandas分组与排序的实现
2019/07/23 Python
程序员的七夕用30行代码让Python化身表白神器
2019/08/07 Python
解决python -m pip install --upgrade pip 升级不成功问题
2020/03/05 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
浅析Python迭代器的高级用法
2020/07/16 Python
Trina Turk官网:美国时装和泳装品牌
2018/06/10 全球购物
给同事的道歉信
2014/01/11 职场文书
酒店中秋节促销方案
2014/01/30 职场文书
幼儿园小班教学反思
2014/02/02 职场文书
岗位职责说明书模板
2014/07/30 职场文书
2015年重阳节慰问信
2015/03/23 职场文书
2015年感恩母亲节活动方案
2015/05/04 职场文书
酒店温馨提示语
2015/07/14 职场文书
初中生物教学随笔
2015/08/15 职场文书
《老人与海鸥》教学反思
2016/02/16 职场文书
详解Python常用的魔法方法
2021/06/03 Python
MySQL系列之五 视图、存储函数、存储过程、触发器
2021/07/02 MySQL
Python中requests库的用法详解
2022/06/05 Python