深圳网站建设公司,网商在线LOGO

您的位置:首页 > 新闻

多个关键词排序,多关键词站内搜索怎么做
新闻 2023-03-07编辑:深圳网站建设阅读(标签: 多个关键词 站内搜索

多个关键词排序,多关键词站内搜索怎么做?我们做网页时。某一个页面有多个关键词。要搜索相关的文章时怎么办?

PHP搜索主要通过使用SQL语句中的like子句来实现。如果同时搜索多个关键词,可以使用union子句来将搜索结果合并起来。


搜索效果如下

企业网站查询相关内容


/https://www.ew35.com/article_26479.html
模板:article/article.html
<!--代码如下-->
{if($article['tags'])}
<?php
$tags = explode(',',$article['tags']);
$sql = [];
foreach($tags as $v){
    $sql[]=" title like '%".$v."%' ";
    $sql[]=" keywords like '%".$v."%' ";
}
$tagslist = syDB('article')->findAll(implode(' or ',$sql),null,null,12);
?>
{foreach $tagslist as $v}
<?php
$v['url'] = html_url('article',$v);
?>
<li><a title="{$v['title']}" href=" 'url']}">{fun newstr($v['title'],38)} <span>阅读:{$v['hits']} </span></ a></li>
{/foreach}
{/if}

数据库多条件查询示例


//分解用户输入的多个关键词,存入$result数组
$result = explode('','',$_GET['key']);
$mysql_server="localhost";
$mysql_username="数据库用户名";
$mysql_password="数据库密码";
$database_conn="数据库名";
//建立数据库链接
$conn = mysql_connect($mysql_server,$mysql_username,$mysql_password);
//选择某个数据库
mysql_select_db($database_conn, $conn);
//根据多个关键词构建SQL语句
$query_rs = "SELECT * FROM (";
//根据每个搜索关键词构建SQL语句
for($i=0;$i<count($result);$i++)
{
    //对第一个关键词,不使用UNION
    if($i==0)
    {
        $query_rs .= "SELECT * FROM searchtable WHERE title LIKE ''%$result[0]%''OR content LIKE ''%$result[0]%''";
     }else{
        //对其他关键词,使用UNION连接
        $query_rs .= " UNION SELECT * FROM searchtable WHERE title LIKE''%$result[$i]%'' OR content LIKE ''%$result[$i]%''";
     }
     //对搜索结果排序
     $query_rs .= ") T ORDER BY last_access DESC";
     //执行SQL语句
     $rs = mysql_query($query_rs, $conn) or die(mysql_error());
     $row_rs = mysql_fetch_assoc($rs);
     $totalRows_rs = mysql_num_rows($rs);
}



企业网站定制

企业网站定制 根据企业需求,量身定制设计

企业网站定制:2800元起
添加微信 请说明来意
联系我们
站内搜索

24小时服务热线 0755-29765948
  • 地址:深圳市罗湖区人民北路2033号206
  • 电话:0755-29765948 传真:82256610
  • 手机:13714666846 18948334877
  • 邮箱:gong@ew35.com 164761418@qq.com
  • 粤ICP备14049207号
创意化数字品牌整合网络营销
营销网站让你坐等商机坐佣客户,Rss

版权所有:深圳市网商在线科技有限公司

友情链接: