PHP实现多个关键词搜索查询功能,以前实现过。

Posted PHP自学中心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP实现多个关键词搜索查询功能,以前实现过。相关的知识,希望对你有一定的参考价值。


文章来自于脚本之家

链接:https://www.jb51.net/article/142688.htm

PHP实现多个关键词搜索查询功能,以前实现过。









正文内容

php对于数据库的搜索主要通过使用SQL语句中的like子句来实现。如果同时搜索多个关键词,可以使用union子句来将搜索结果合并起来。以下代码实现了一个搜索页面。

引用

<?php require_once(''Connections/conn.php''); ?>
<?php
$colname_rs = $_GET[''key'']; //获得用户输入
$result = explode('','',$_GET[''key'']);//分解用户输入的多个关键词,存入$result数组
mysql_select_db($database_conn, $conn); //连接数据库
//根据多个关键词构建SQL语句
$query_rs = "SELECT * FROM (";
for($i=0;$i<count($result);$i++) //根据每个搜索关键词构建SQL语句
{
if($i==0//对第一个关键词,不使用UNION
$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);
?>

<html>
<head>
<title>Search</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body>
<form name="form1" method="get" action="?">
<div align="center">请输入要搜索关键词:
<input name="key" type="text" size="64" value="<?php echo $_GET[''key''] ?>">
<input type="submit" value="Submit">
</div>
</form>
<p align="center"><B>当前关键词:
<?php
for($i=0;$i<count($result);$i++) { //循环显示关键词
echo $result[$i]." ";
}
?>
</B></p>
<p><hr></p>
<?php if($totalRows_rs>0do { //显示当前搜索结果 ?>
<p><a href="show.php?key=<?php echo $colname_rs ?>&id=<?php echo
$row_rs[''id'']; ?>"
>
<?php echo $row_rs[''title'']; ?></a>(<?php echo
$row_rs[''click'']; ?>
 | <?php echo $row_rs[''last_access'']; ?>)</p>
<?php } while ($row_rs = mysql_fetch_assoc($rs)); ?>
</body>
</html>
<?php
mysql_free_result($rs);
?>

这里,在页面上可以使用英文逗号“,”来实现多个关键词的搜索。

以上是文章全部内容,有学习与经验交流的可以加微信为好友。一起学习,交流与进步!请备注:码农


以上是关于PHP实现多个关键词搜索查询功能,以前实现过。的主要内容,如果未能解决你的问题,请参考以下文章

php怎么实现搜索高亮,注意是分开的字符

PHP中怎么实现关键字搜索?

求一个php搜索全站的代码

PHP实现中文全文搜索的原理介绍

用sphinx给PHP加个给力的搜索功能

如何实现jqGrid的多个搜索