利用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 $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)}
看完上述内容,你们掌握利用destoon怎么实现一个自定义搜索功能的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。