$filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND $addtable.".wwwcms_filter($key)." = ".wwwcms_filter(iconv("UTF-8", "gb2312", $value))."" : ";
修改为
if($key=="goodstype" || $key=="goodscolor" ){ //你的自定义字段名 $count=0; $nowsql =''; $var=explode(",",wwwcms_filter(iconv("UTF-8", "gb2312", $value))); //iconv是转码的意思,如果你url传进来的参数是中文,就需要转码 if(!empty($var)){ foreach($var as $value){ if($count==0){ $filtersql.="and ($addtable.".wwwcms_filter($key)." like '%".$value."%'"; $count++; }else{ $filtersql.="or $addtable.".wwwcms_filter($key)." like '%".$value."%'"; } } $filtersql.=")"; } }else{ $filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND $addtable.".wwwcms_filter($key)." = ".wwwcms_filter(iconv("UTF-8", "gb2312", $value))."" : ''; //如果传递的值是中文,则需要转码 }然后在前台调用的时候,比如参数是?tid=4&goodstype=类型1,类型2&goodscolor=灰色,红色,蓝色
记住,一定要以英文半角逗号隔开,如果你编码是gbk的,传值的时候如果url显示的是中文,就可以直接使用上面的代码,否则的话在转码那可能要稍微修改下。
到这里联动筛选的多选功能的开发也就全部做完了。