当前位置: 首页 > 编程笔记 >

thinkPHP实现多字段模糊匹配查询的方法

牟飞沉
2023-03-14
本文向大家介绍thinkPHP实现多字段模糊匹配查询的方法,包括了thinkPHP实现多字段模糊匹配查询的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了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入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

 类似资料:
  • 本文向大家介绍thinkphp实现like模糊查询实例,包括了thinkphp实现like模糊查询实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了thinkphp实现like模糊查询的方法,分享给大家供大家参考。具体实现方法如下: 目前使用thinkphp框架进行项目开发的人越来越多了,由于其封装性较好,导致了很多纯PHP开发的部分不易上手,本文实例即以like模糊查询为例对此加以说明

  • 本文向大家介绍浅谈mysql通配符进行模糊查询的实现方法,包括了浅谈mysql通配符进行模糊查询的实现方法的使用技巧和注意事项,需要的朋友参考一下 在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符。 首先我们来了解一下2个概念,一个是操作符,一个是通配符。 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后面的搜索模式是利用通配符而不是直接相等匹配进行比较。

  • 本文向大家介绍Mybatis多个字段模糊匹配同一个值的案例,包括了Mybatis多个字段模糊匹配同一个值的案例的使用技巧和注意事项,需要的朋友参考一下 需求: 搜索框中可输入手机号,姓名,地址查询,后台需要对一个框中的多个字段做匹配查询。 搜索 可以在sql语句中做拼接条件查询: 补充知识:在Mybatis xml使用mysql数据库进行多字段模糊查询(Like) 在mysql中使用Like进行一

  • 本文向大家介绍vue实现Input输入框模糊查询方法,包括了vue实现Input输入框模糊查询方法的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了vue实现Input输入框模糊查询方法的具体代码,供大家参考,具体内容如下 原理:原生js的indexOf() 方法,该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start

  • 问题内容: 如何为模糊匹配查询添加模糊性?因此,如果有人要搜索“棒球”,它仍然会找到“棒球”文章。目前,我的查询如下所示: 我正在寻找的一种选择是执行类似的操作,只是不知道这是否是最佳选择。保持基于评分的排序很重要: 有什么建议吗? 问题答案: 要将模糊性添加到多查询中,您需要按以下说明添加模糊性属性: 请注意,文档中的 prefix_length 解释为: 不会被“模糊化”的初始字符数。这有助于

  • 本文向大家介绍MyBatis实现动态查询、模糊查询功能,包括了MyBatis实现动态查询、模糊查询功能的使用技巧和注意事项,需要的朋友参考一下 要实现查询,咱们就先有个数据库,截图如下,其中cityAreaId是外键,本次可以忽略; 下面Branches是我的实体类,里面有name和address属性; 接口中方法: MyBatis的接口映射文件的代码: 动态查询: 模糊查询: 然后就是main方