这篇文章给大家介绍使用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怎么实现一个多字段模糊匹配查询功能就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
售后响应及时
7×24小时客服热线数据备份
更安全、更高效、更稳定价格公道精准
项目经理精准报价不弄虚作假合作无风险
重合同讲信誉,无效全额退款