服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|

服务器之家 - 编程语言 - PHP教程 - PHP实现多个关键词搜索查询功能示例

PHP实现多个关键词搜索查询功能示例

2019-09-23 11:00codeweblog PHP教程

这篇文章主要介绍了PHP实现多个关键词搜索查询功能,结合实例形式分析了php使用mysql中like、union等语句模糊查询相关操作技巧,需要的朋友可以参考下

本文实例讲述了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>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教程PHP Cookie学习笔记

    PHP Cookie学习笔记

    这篇文章主要为大家分享了PHP Cookie学习笔记,告诉大家什么是Cookie,Cookie的功能有哪些? 如何创建、读取、删除Cookie,感兴趣的小伙伴们可以参考一下...

    GULINHAI123622019-06-20
  • PHP教程php ajax confirm 删除实例详解

    php ajax confirm 删除实例详解

    这篇文章主要介绍了php ajax confirm 删除,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...

    MoonyHee2312019-06-05
  • PHP教程Laravel核心解读之异常处理的实践过程

    Laravel核心解读之异常处理的实践过程

    这篇文章主要给大家介绍了关于Laravel核心解读之异常处理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧...

    KevinYan2902019-06-10
  • PHP教程thinkPHP框架RBAC实现原理分析

    thinkPHP框架RBAC实现原理分析

    本文实例讲述了thinkPHP框架RBAC实现原理。分享给大家供大家参考,具体如下: RBAC就是:Role Based Access Controller,基于角色(role)的权限(Access)管理 ,这里简单介绍一下他的原理与实现方式之一。 Part 1 数据库设计 首先最基本的组成有...

    trouble-i-am-in1362019-06-21
  • PHP教程PHP 将逗号、空格、回车分隔的字符串转换为数组的函数

    PHP 将逗号、空格、回车分隔的字符串转换为数组的函数

    我们在搜索一些东西时会经常遇到可以通过空格隔开来达到输入多个条件的目的。今天正好项目中遇到了这个情况,就写了一个函数,将多个条件放到数组里...

    PHP之家4562019-06-19
  • PHP教程PHP连接sftp并下载文件的方法教程

    PHP连接sftp并下载文件的方法教程

    这篇文章主要给大家介绍了关于PHP连接sftp并下载文件的相关资料,需要的朋友可以参考下 ...

    Gowhich2392019-09-09
  • PHP教程ThinkPHP5+Layui实现图片上传加预览功能

    ThinkPHP5+Layui实现图片上传加预览功能

    这篇文章主要介绍了ThinkPHP5+Layui实现图片上传加预览功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下...

    下页、再停留4792019-09-11
  • PHP教程PHP _construct()函数讲解

    PHP _construct()函数讲解

    今天小编就为大家分享一篇关于PHP _construct()函数讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧...

    php参考手册3812019-06-23