Home > Article > Backend Development > How to set up custom search in destoon_PHP tutorial
Step one:
Add two functions to include/global.fun.php
Function 1:
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 2:
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; }
The first function means filtering spaces and carriage returns
The second function is to generate a drop-down list based on name (custom field) tb (model to which it belongs) $fid (currently selected ID).
Step 2:
Insert
under $day = isset($day) ? intval($day) : 0; in module/sell/search.inc.php$chengse = isset($chengse)?intval($chengse):0;
Add
under if($vip) $condition .= " AND vip>0";if($chengse) $condition .= " AND chengse=$chengse";
Then in the template file use:
{select_search(chengse,sell,$chengse)}