当我们使用帝国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了!
新闻热点
疑难解答