分词查询排序处理办法,这是我的解决方案分享给大家,大家有更好的方案欢迎指导
$arr = ['crmeb','支付','报错'];
if(count($arr))
{
$px = ''; //排序计算
$wh = ''; // where 查询条件
foreach($arr as $v)
{
$px .= "sign(LOCATE('".$v."',title)+";
$wh .= "title LIKE '%".$v."%' or ";
}
$px = rtrim($px,'+').' as px';
$wh = rtrim($px,'or');
//查询sql语句,BINARY 是忽略大小写问题
$sql = "SELECT BINARY title,".$px." FROM table WHERE ".$wh." ORDER BY px DESC";
}
LOCATE(substr, str); //查询 str 在 substr中的位置
sign() //函数:判断数值的正负性,如果数值是正数,返回值是1,如果该数值是负数,返回值是-1,如果该数值是 0,返回值也是0。
{{item.user_info.nickname ? item.user_info.nickname : item.user_name}}
作者 管理员 企业
{{itemf.name}}
{{itemc.user_info.nickname}}
{{itemc.user_name}}
回复 {{itemc.comment_user_info.nickname}}
{{itemf.name}}