本文实例讲述了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;$icount($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;$icount($result);$i++) { //循环显示关键词
echo $result[$i]." ";
}
?>/B>/p>
p>hr>/p>
?php if($totalRows_rs>0) do { //显示当前搜索结果 ?>
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+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》
希望本文所述对大家PHP程序设计有所帮助。
您可能感兴趣的文章:- 浅析PHP关键词替换的类(避免重复替换,保留与还原原始链接)
- php站内搜索关键词变亮的实现方法
- 使用php显示搜索引擎来的关键词
- PHP中文分词 自动获取关键词介绍
- PHP安全配置优化详解
- PHP优化教程之解决嵌套问题
- PHP解决高并发的优化方案实例
- 详解PHP优化巨量关键词的匹配