帝国cms结合项里面固定字段设置为模糊查找结果

2018-06-23 23:00:27 围观 :

当我们使用帝国cms 结合项 筛选一些信息的时候,后台一个字段包括了很多值!

例如: 

爱好字段(aihao): 值可以是 看书,听歌,旅游

 

当使用官方结合项插件时候 如果url里面 aihao=看书 默认是不会筛选出内容的

 

所以我们需要修改下源码实现模糊查询出来!

 

打开 

e\action\ListInfo.php

 

搜索

 

//结合项

if(!empty($emod_r[$mid]['listandf'])&&$_GET['ph']==1)

{

$andor=$_GET['andor']=='or'?'or':'and';

$search.='&ph=1&andor='.$andor;

$listandf='';

$andr=explode(',',$emod_r[$mid]['listandf']);

$count=count($andr)-1;

for($i=1;$i<$count;$i++)

{

$andval=$_GET[$andr[$i]];

if(!empty($andval))

{

$andval=RepPostVar2($andval);

$doandor=empty($listandf)?'':' '.$andor.' ';

 

把下面的改成 aihao为你固定的字段!

 

if($andr[$i]=="aihao"){

        $listandf.=$doandor.$andr[$i]." like '%".$andval."%'";

      } else {

if(strstr($andval,'__'))

{

$andbtr=explode('__',$andval);

$andbtr[0]=(float)$andbtr[0];

$andbtr[1]=(float)$andbtr[1];

if($andbtr[0]&&$andbtr[1])

{

$listandf.=$doandor.$andr[$i]." BETWEEN '".$andbtr[0]."' and '".$andbtr[1]."'";

}

}

elseif(empty($emod_r[$mid]['setandf']))

{

$listandf.=$doandor.$andr[$i]."='".$andval."'";

}

else

{

$listandf.=$doandor.$andr[$i]." like '%".$andval."%'";

}

}

$search.="&".$andr[$i]."=$andval";

}

 

这样就OK了!

 

    匿名评论
  • 评论
人参与,条评论

相关文章

    无相关信息
网站分类