知识学习

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 4069|回复: 0

destoon设置自定义搜索的方法

[复制链接]

升级   100%

152

主题

0

回帖

752

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
752
发表于 2020-9-15 23:32:17 | 显示全部楼层 |阅读模式
第一步:
在include/global.fun.php中加入两个函数
函数一:

  1. function loseSpace($pcon){
  2.         $pcon = preg_replace('/ /','',$pcon);
  3.         $pcon = preg_replace('/ /','',$pcon);
  4.         $pcon = preg_replace('/ /','',$pcon);
  5.         $pcon = preg_replace('/\r\n/','',$pcon);
  6.         $pcon = str_replace(chr(13),'',$pcon);
  7.         $pcon = str_replace(chr(10),'',$pcon);
  8.         $pcon = str_replace(chr(9),'',$pcon);
  9.         return $pcon;
  10. }
  11. function select_search($name,$tb,$fid){
  12.     global $DT;
  13.     $titles='<select name=".$name."><option value="">所有</option>';
  14.     $r = DB::query("SELECT option_value FROM {$db->pre}fields WHERe name='$name' and tb='$tb'");
  15.     $option_value=loseSpace($r['option_value']);
  16.     $ps = split('\*', $option_value);
  17.     //var_dump($matchs);
  18.     foreach ($ps as $s){
  19.     //以*分割1|可用*=> 1, 可用
  20.      if(!$s){
  21.     continue;
  22.      }
  23.      list($num,$word) = split('\|', $s);
  24.      $result[$num = $word;
  25.     }     
  26.     foreach($result as $n => $v){
  27.     if ($n==$fid){
  28.      $titles .='<option value=".$n." selected="">".$v."</option>';
  29.     }
  30.     else{
  31.      $titles .='<option value=".$n.">".$v."</option>';
  32.     }
  33.     }
  34.     $titles .='</select>';
  35.     return $titles;
  36. }
复制代码

第一个函数的意思是过滤空格回车
第二个函数是根据 name(自定义字段) tb(所属模型) $fid(当前所选ID)生成下拉列表。
第二步:
在module/sell/search.inc.php中的$day = isset($day) ? intval($day) : 0;下插入
  1. $xin = isset($xin)?intval($xin):0;
复制代码


在if($vip) $condition .= " AND vip>0";下加入
  1. if($xin) $condition .= " AND xin=$xin";
复制代码

然后在模板文件中使用:
  1. {select_search(xin,sell,$xin)}
复制代码

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|知识学习 ( 鲁ICP备20015483号 )

GMT+8, 2026-5-13 21:57 , Processed in 0.065570 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表