admin 发表于 2020-9-15 23:32:17

destoon设置自定义搜索的方法

第一步:在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)}
页: [1]
查看完整版本: destoon设置自定义搜索的方法