PHP对于数据库的搜索主要通过使用SQL语句中的子句来实现。如果同时搜索多个关键词,可以使用子句来将搜索结果合并起来。以下代码实现了一个搜索页面。
引用
$colname_rs = $_GET[''key''];//获得用户输入
$result = explode('','',$_GET[''key'']);//分解用户输入的多个关键词,存入$result数组
mysql_select_db($database_conn, $conn);//连接数据库
//根据多个关键词构建SQL语句
$query_rs ="SELECT * FROM (";
for($i=;$i
{
if($i==)//对第一个关键词,不使用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)ordie(mysql_error());
$row_rs = mysql_fetch_assoc($rs);
$totalRows_rs = mysql_num_rows($rs);
?>
Search
请输入要搜索关键词:
">
当前关键词:
for($i=;$i
echo$result[$i]." ";
}
?>
)do{//显示当前搜索结果?>
*&id=
$row_rs[''id'']; ?>">(
$row_rs[''click''];?>|)
mysql_free_result($rs);
?>
这里,在页面上可以使用英文逗号“,”来实现多个关键词的搜索
以上内容希望帮助到大家,有需要的可以添加下方二维码进群交流学习新技术。
如果你想和PHP大神交流添加微信,拉你入群
如果你想获得精品资料添加微信,送你资源
领取专属 10元无门槛券
私享最新 技术干货