destoon7.0设置自定义搜索的方法

日期: 2019-09-10 22:57:56 人气: - 评论: 0

第一步:

在include/global.fun.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)生成下拉列表。

第二步:

在module/sell/search.inc.php中的$day = isset($day) ? intval($day) : 0;下插入


 

$xin = isset($xin)?intval($xin):0;

 

 

在if($vip) $condition .= " AND vip>0";下加入


 

if($xin) $condition .= " AND xin=$xin";

 

然后在模板文件中使用:


 

{select_search(xin,sell,$xin)}