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

系统分类:代码 - 代码 - 帝国cms教程 yecha 2015-07-08 17:00:00 上传

版权信息: "帝国cms教程"栏目内,站内会员所分享的全部资料,仅供学习与参考,版权为原作者所有。
yecha加关注
江苏省淮安市 / 设计师
标签:结合项   帝国cms   模糊查找

当我们使用帝国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了!

素材人气
  • 浏览:
  • 收藏:
  • 评论:
  • 推荐:
  • 附件下载:
yecha
江苏省淮安市 / 设计师
2015-07-08 17:00:00发布
全部评论()
全部推荐()