牛骨文教育服务平台(让学习变的简单)
博文笔记

thinkPHP模糊查询语句like组合写法其中一种

创建时间:2016-10-18 投稿人: 浏览次数:170

最近的项目是thinkPHP搭配sqlserver开发

客户对网站搜索提出的要求不止是模糊查询(php的语句查询条件是like ‘%关键词%’),而是无序也能查询(即输入‘词关键’、‘词键关’、‘关词键’、‘键关词’、‘键词关’……也能查询)

分析:需要把关键词每个字符分离,用and链接       like ‘%关%’、like ‘%键%’、like ‘%词%’

具体的写法是:

/*无序模糊查询*/
$where = array();
$arr_keyword = preg_split("/(?<!^)(?!$)/u", $keyword );//中文要防止乱码
$where_tit = array();
array_push($where_tit,"like");
$ARR = array();
for($i=0;$i<count($arr_keyword);$i++){
    array_push($ARR,"%".$arr_keyword[$i]."%");
}
array_push($where_tit,$ARR);
array_push($where_tit,"AND");
$where["Title"] = $where_tit;

写的有点啰嗦,但是这样不容易出错,欢迎纠错!

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。