虚拟主机域名注册-常见问题 → CMS教程问题 → 齐博CMS | |||||||
齐博CMS:使搜索可以支持多个关键字的搜索
搜索功能不强,仅支持一个关键词,用户输多个关键词搜索结果就为空,难于实现精确搜索。 于是对整站搜索进行了一些修改,使它可以支持多个关键字的搜索,只要用空格把关键词隔开就行。 修改文件:/do/search.php 将以下代码插入在 $SQL=" A.yz=1 "; 后面,然后再按下面的代码修改相应的查询条件。 //增强处理:如关键词用空格分开,处理成多个关键词 kevin 2009-09-12 unset($detail,$detail_plus,$keyword_plus); $detail=explode(" ",$keyword); foreach( $detail AS $value){ if($type=='keyword') { $detail_plus[]=" A.keywords='$value' "; } elseif($type=='title') { $detail_plus[]=" A.title like '%$value%' "; } elseif($type=='content') { $detail_plus[]=" B.content LIKE '%$value%' "; } } $keyword_plus=implode(" AND ",$detail_plus); unset($detail,$detail_plus); //后面搜索的条件相应进行了修改。 //增强处理结束。 修改代码下面的查询条件为: $query = $db->query("SELECT B.aid FROM {$pre}keywordid B LEFT JOIN {$pre}keyword A ON A.id=B.id WHERE $keyword_plus "); elseif($type=='title') { $SQL.=" AND BINARY $keyword_plus "; } elseif($type=='id') { $SQL.=" AND A.aid = '$keyword' "; } elseif($type=='username') { $SQL.=" AND BINARY A.username = '$keyword' "; } elseif($type=='content') { $SQL.=" AND BINARY $keyword_plus "; }
|
|||||||
>> 相关文章 | |||||||
发表评论 | |||||||