虚拟主机域名注册-常见问题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 ";
}


来源:
阅读:5420
日期:2017-12-05

推荐朋友 】 【 评论 】  【 字体: 】 
上一篇:百度编辑器 UEditor上传图片 title数字修改成图片名称
下一篇:去掉 ueditor多图上传后,图片自动加title为标题
  >> 相关文章
 
发表评论


点  评: 字数0
用户名:  密码:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款