第一步:
在include/global.fun.php 或者 api/extend.func.php中加入两个函数
函数一:
function loseSpace($pcon){ $pcon = preg_replace('/ /','',$pcon); $pcon = preg_replace('/ /','',$pcon); $pcon = preg_replace('/ /','',$pcon); $pcon = preg_replace('/\r\n/','',$pcon); $pcon = str_replace(chr(13),'',$pcon); $pcon = str_replace(chr(10),'',$pcon); $pcon = str_replace(chr(9),'',$pcon); return $pcon; } function select_search($name,$tb,$fid){ global $DT; $titles='<select name=".$name."><option value="">所有</option>'; $r = DB::query("SELECT option_value FROM {$db->pre}fields WHERe name='$name' and tb='$tb'"); $option_value=loseSpace($r['option_value']); $ps = split('\*', $option_value); //var_dump($matchs); foreach ($ps as $s){ //以*分割1|可用*=> 1, 可用 if(!$s){ continue; } list($num,$word) = split('\|', $s); $result[$num] = $word; } foreach($result as $n => $v){ if ($n==$fid){ $titles .='<option value=".$n." selected="">".$v."</option>'; } else { $titles .='<option value=".$n.">".$v."</option>'; } } $titles .='</select>'; return $titles; }
第一个函数的意思是过滤空格回车
第二个函数是根据 name(自定义字段) tb(所属模型) $fid(当前所选ID)生成下拉列表。
第二步:
2-1、在module/sell/search.inc.php中的$day = isset($day) ? intval($day) : 0;下插入
$xin = isset($xin) ? intval($xin) : 0;
其中 xin 为字段
2-2、在if($vip) $condition .= " AND vip>0";下加入
if($xin) $condition .= " AND xin=$xin";
其中 xin 为字段
前端使用:在模板文件中用下面的代码调取
{select_search(xin,sell,$xin)}
其中 xin 为字段,sell为模块目录