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);
?>
<clk></clk>这里,在页面上可以使用<nobr oncontextmenu="return false;" onmousemove="kwM(0);" id="key0" onmouseover="kwE(event,0, this);" style="COLOR: #6600ff; BORDER-BOTTOM: #6600ff 1px dotted; BACKGROUND-COLOR: transparent; TEXT-DECORATION: underline" onclick="return kwC(event,0);" onmouseout="kwL(event, this);" target="_blank">英文</nobr>逗号“,”来实现多个关键词的搜索,运行结果如图36-1所示。
图36-1 搜索页面
这里,仍然将与数据库的连接放到一个专门的PHP文件中以方便后期的修改。
分享到:
相关推荐
完全手册php网络开发详解(孙鹏程) 源码
支付接口开发详解,设计支付宝 及 网银支付模式 等方式的二次开发
PHP5应用实例详解:使用Zend Framework & smarty构筑真正的MVC模式应用 全书源代码
php5与mysql5 web开发详解 源码
将data文件夹中的db_pursey文件夹拷贝到AppServ安装路径下的AppServ\MySQL\data文件夹中,完成附加MySQL数据库的操作。 2.将程序发布到AppServ下 (1)将99Pursey文件夹拷贝到AppServ安装路径下www文件夹中,如图...
PHP漏洞挖掘(七):PHP框架开发详解——课程资源百度网盘下载,亲测真实有效可用!包含视频+课程资料.zip,在知识星球中也分享了该资源,知识星球:W小哥
PHP网络编程技术详解.rar
PHP生成静态页面详解
《Ajax+PHP程序设计实战详解》分为5篇,分别为:PHP基础篇、PHP Web应用篇、Ajax基础开发篇、组合篇和实例篇。内容囊括了PHP开发的基础知识、Ajax开发的基础知识、PHP+Ajax组合开发Web2.0程序和:PHP+Ajax实例程序。...
Ajax+PHP程序设计实战详解 part01:http://download.csdn.net/source/3525609 part02:http://download.csdn.net/source/3525714 part03:http://download.csdn.net/source/3525740 part04:...
PHP 敏捷开发框架 CodeIgniter的全面学习手册。欢迎大家下载。内附源码。
PHP网站模板,网站源码,带PHP后台:室内创意设计企业模板里面包含8个子页面,适合创意设计公司官.zip
《PHP网络编程技术详解》电子书不错,只是一直没有找到光盘,到图书馆专门借出存档—— 随书光盘
php敏捷开发框架CodeIgniter快速web应用开发详解 如果无法查看请右键属性解锁文件后即可查看
Java Web是用Java技术来解决相关web互联网领域的技术栈。web包括:web服务端和web客户端两部分。...动态web资源开发技术:JavaScript、JSP/Servlet、ASP、PHP等。在Java中,动态web资源开发技术统称为Java Web。
PHP图书管理系统源码(毕业设计),软件架构说明 PHP+MySQL+layui php版本:7.3.4 MySQL版本:5.7.26PHP图书管理系统源码(毕业设计),软件架构说明 PHP+MySQL+layui php版本:7.3.4 MySQL版本:5.7.26PHP图书管理...
2. 系统设计:根据需求设计系统架构、数据库结构、页面布局等; 3. 编码实现:根据设计方案进行编码实现; 4. 测试调试:对系统进行功能测试、性能测试、安全测试等,确保系统的稳定性和安全性; 5. 部署上线
curl命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解php CURL 命令详解...
前台PHP+后台MYSQL数据库开发详解,包括如何搭建PHP环境,PHP基础(运算符、函数、流程控制结构、函数库),及MYSQL的管理和操作,PHP与MYSQL的链接等等。