欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

destoon设置自定义搜索的方法

程序员文章站 2023-11-30 20:52:34
第一步: 在include/global.fun.php中加入两个函数 函数一: function losespace($pcon){ $pcon = pr...

第一步:

在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 $db;
    $title="<select name=".$name."><option value= >所有</option>";
    $r = $db->get_one("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){
     $title .=" <option value=".$n." selected>".$v."</option>";
    }
    else{
     $title .=" <option value=".$n.">".$v."</option>";
    }
    }
    $title .="</select>";
    return $title;
}

第一个函数的意思是过滤空格回车

第二个函数是根据 name(自定义字段) tb(所属模型) $fid(当前所选id)生成下拉列表。

第二步:

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

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

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

if($chengse) $condition .= " and chengse=$chengse";

然后在模板文件中使用:

{select_search(chengse,sell,$chengse)}