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 相关文章推荐
用文本作数据处理
Oct 09 PHP
用PHP和ACCESS写聊天室(十)
Oct 09 PHP
PHP页面中文乱码分析
Oct 29 PHP
php 不使用js实现页面跳转
Feb 11 PHP
php异常处理使用示例
Feb 25 PHP
PHP中__FILE__、dirname与basename用法实例分析
Dec 01 PHP
PHP实现根据银行卡号判断银行
Apr 29 PHP
PHP MPDF中文乱码的解决方式
Dec 08 PHP
php生成二维码图片方法汇总
Dec 17 PHP
PHP简单实现模拟登陆功能示例
Sep 15 PHP
PHP正则表达式处理函数(PCRE 函数)实例小结
May 09 PHP
laravel5表单唯一验证的实例代码
Sep 30 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使用curl模拟登录后采集页面的例子
2013/11/04 PHP
destoon实现底部添加你是第几位访问者的方法
2014/07/15 PHP
PHP向socket服务器收发数据的方法
2015/01/24 PHP
Smarty实现页面静态化(生成HTML)的方法
2016/05/23 PHP
PHP内置函数生成随机数实例
2019/01/18 PHP
jQuery的一些特性和用法整理小结
2010/01/13 Javascript
jQuery新闻滚动插件 jquery.roller.js
2011/06/27 Javascript
读jQuery之十一 添加事件核心方法
2011/07/31 Javascript
JQuery写动态树示例代码
2013/07/31 Javascript
jQuery 事件的命名空间简单了解
2013/11/22 Javascript
文本框水印提示效果的简单实现代码
2014/02/22 Javascript
Javascript中判断对象是否为空
2015/06/10 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
基于jQuery的左滑出现删除按钮的示例
2017/08/29 jQuery
浅谈React深度编程之受控组件与非受控组件
2017/12/26 Javascript
Angular2整合其他插件的方法
2018/01/20 Javascript
jQuery实现鼠标点击处心形漂浮的炫酷效果示例
2018/04/12 jQuery
Vue前端开发规范整理(推荐)
2018/04/23 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
Vue的生命周期操作示例
2019/09/17 Javascript
简介JavaScript错误处理机制
2020/08/04 Javascript
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
python求pi的方法
2014/10/08 Python
Python内置的HTTP协议服务器SimpleHTTPServer使用指南
2016/03/30 Python
Python构造自定义方法来美化字典结构输出的示例
2016/06/16 Python
浅谈Django自定义模板标签template_tags的用处
2017/12/20 Python
Python logging管理不同级别log打印和存储实例
2018/01/19 Python
扩展Django admin的list_filter()可使用范围方法
2019/08/21 Python
Django项目创建到启动详解(最全最详细)
2019/09/07 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
Python中生成ndarray实例讲解
2021/02/22 Python
汽修专业学生自我鉴定
2013/11/16 职场文书
辩论会主持词
2015/07/03 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
浅谈mysql增加索引不生效的几种情况
2021/06/23 MySQL
MySQL分库分表详情
2021/09/25 MySQL