DESTOON自定义搜索的方法

admin|
373

第一步:

在include/global.fun.php 或者 api/extend.func.php中加入两个函数

函数一:

    functionloseSpace($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;
    }
    functionselect_search($name,$tb,$fid){
    global$DT;
    $titles='<selectname=".$name."><optionvalue="">所有</option>';
    $r=DB::query("SELECToption_valueFROM{$db->pre}fieldsWHERename='$name'andtb='$tb'");
    $option_value=loseSpace($r['option_value']);
    $ps=split('\*',$option_value);
    //var_dump($matchs);
    foreach($psas$s){
    //以*分割1|可用*=>1,可用
    if(!$s){
    continue;
    }
    list($num,$word)=split('\|',$s);
    $result[$num]=$word;
    }
    foreach($resultas$n=>$v){
    if($n==$fid){
    $titles.='<optionvalue=".$n."selected="">".$v."</option>';
    }else{
    $titles.='<optionvalue=".$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为模块目录