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 智能404跳转代码,适合换域名没改变目录的网站
Jun 04 PHP
php实现把数组按指定的个数分隔
Feb 17 PHP
PHP exif扩展方法开启详解
Jul 28 PHP
php中ob_get_length缓冲与获取缓冲长度实例
Nov 20 PHP
PHP+MYSQL实现用户的增删改查
Mar 24 PHP
php关键字仅替换一次的实现函数
Oct 29 PHP
php基于单例模式封装mysql类完整实例
Oct 18 PHP
php常用字符函数实例小结
Dec 29 PHP
PHP自定义函数实现数组比较功能示例
Oct 19 PHP
Laravel框架集成UEditor编辑器的方法图文与实例详解
Apr 17 PHP
修改Laravel自带的认证系统的User类的命名空间的步骤
Oct 15 PHP
laravel框架邮箱认证实现方法详解
Nov 22 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
php中使用preg_replace函数匹配图片并加上链接的方法
2013/02/06 PHP
PHP 过滤页面中的BOM(实现代码)
2013/06/29 PHP
php安装xdebug/php安装pear/phpunit详解步骤(图)
2013/12/22 PHP
PHP把JPEG图片转换成Progressive JPEG的方法
2014/06/30 PHP
WordPress中重置文章循环的rewind_posts()函数讲解
2016/01/11 PHP
jQuery 可以拖动的div实现代码 脚本之家修正版
2009/06/26 Javascript
Javascript面向对象编程(三) 非构造函数的继承
2011/08/28 Javascript
基于jQuery实现下拉收缩(展开与折叠)特效
2012/12/25 Javascript
js实现幻灯片效果(基于jquery插件)
2013/11/05 Javascript
javascript自动给文本url地址增加链接的方法分享
2014/01/20 Javascript
js的Prototype属性解释及常用方法
2014/05/08 Javascript
深入探讨javascript函数式编程
2015/10/11 Javascript
js+flash实现的5图变换效果广告代码(附演示与demo源码下载)
2016/04/01 Javascript
js实现本地时间同步功能
2017/08/26 Javascript
使用npm安装最新版本nodejs
2018/01/18 NodeJs
详解ESLint在Vue中的使用小结
2018/10/15 Javascript
vue 获取视频时长的实例代码
2019/08/20 Javascript
Element-UI+Vue模式使用总结
2020/01/02 Javascript
jQuery实现可以计算进制转换的计算器
2020/10/19 jQuery
Python多线程编程(六):可重入锁RLock
2015/04/05 Python
Python读写文件方法总结
2015/06/09 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
Python装饰器限制函数运行时间超时则退出执行
2019/04/09 Python
Python Django基础二之URL路由系统
2019/07/18 Python
Python通过cv2读取多个USB摄像头
2019/08/28 Python
pycharm设置当前工作目录的操作(working directory)
2020/02/14 Python
利用Python计算KS的实例详解
2020/03/03 Python
python如何导出微信公众号文章方法详解
2020/08/31 Python
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
工业自动化专业毕业生推荐信
2013/11/18 职场文书
家长给学校的建议书
2014/05/15 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书
2019中秋节祝福语大全,提前收藏啦
2019/09/10 职场文书