让HDWiki支持模糊搜索:
修改安装目录下的\model\search.class.php文件
将其中的join_sql方法替换成以下方法:
function join_sql($element){ $keywords = $element['keyword']; $searchtitle=($_ENV['doc']->get_total_num() < $this->base->setting['search_num'])?0:1; if($searchtitle){ $sqlkeywords .="d.title LIKE '$keywords%'"; $element['author']=""; $element['categoryid'][0]='all'; }else{ $arraylist = split(" ",$keywords); //将查询关键字通过空格进行分解 $sqlkeywords .= "("; for($i=0; $i<count($arraylist); $i++) //把它们全部输出来 { $keyword = $arraylist[$i]; $sqlkeywords .="d.".$element['searchtype']." LIKE '%$keyword%' and "; } $strleng = strlen($sqlkeywords); $temp = substr($sqlkeywords, 0, $strleng-4); $temp .= ") or ("; for($i=0; $i<count($arraylist); $i++) //把它们全部输出来 { $keyword = $arraylist[$i]; $temp .="d.content LIKE '%$keyword%' and "; } $templeng = strlen($temp); $temp = substr($temp, 0, $templeng-4); $temp .= ")"; $sqlkeywords = $temp; //$sqlkeywords .="d.".$element['searchtype']." LIKE '%$keywords%' or d.content LIKE '%$keywords%' "; //echo $sqlkeywords; } $sqladd=(trim($sqlkeywords)!='')?' AND ('.$sqlkeywords.")":""; $sqladd .=(bool)$element['author']?" AND d.author='".$element['author']."' ":""; $sqladd .=('all'!=$element['categoryid'][0])?' AND d.cid in ('.implode(',',$element['categoryid']).') ':''; if(0!=$element['timelimited']){ $sqladd .=('within'==$element['withinbefore'])?" AND d.`time` > '".($this->base->time-$element['timelimited'])."'" :" AND d.`time` < '".($this->base->time-$element['timelimited'])."'"; } $order=" ORDER BY d.".$element['ordertype']." ".$element['ascdesc'].""; $result['sql']='SELECT d.did,d.tag,d.title,d.author,d.authorid,d.time,d.summary,d.edits, d.views,d.comments FROM '.DB_TABLEPRE.'doc d WHERE 1 '.$sqladd.$order; $result['dsql']='SELECT COUNT(*) as num FROM '.DB_TABLEPRE.'doc d WHERE 1 '.$sqladd; return $result; }
按字母顺序浏览:A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
→我们致力于为广大网民解决所遇到的各种电脑技术问题 如果您认为本词条还有待完善,请 编辑词条