1、通过php查询mysql数据库的关键词,用%$_POST[keyword]%实现关键词搜索2、每次搜索关键词,都把该关键词插入数据库的keywords字段做记录,然后查询keywords所有记录并输出,即可实现最近搜索的关键词功能3、计算keywords里所有重复字段并排序,输出前5个最多人搜索的关键词,即可实现最近热搜
sou.php ,这是表单提交页面+最近搜索,最近热搜关键词输出页面。html>
$(document).ready(function(){
$("button").click(function(){
$("p").toggle();
});
});
button{
background: none;
border:none;
}
最近搜索
header("Content-type:text/html;charset=utf-8");
//连接数据库
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('连接数据库失败,失败原因:' . mysql_error());
}
//设置数据库字符集
mysql_query("SET NAMES UTF8");
//查询数据库
mysql_select_db("test", $con);
//查询最新10条数据
$result = mysql_query("SELECT * FROM sou ORDER BY id DESC LIMIT 0,10");
//输出
while($row = mysql_fetch_array($result))
{
echo "
" . $row['keywords'] . "
";}
echo "
最近热搜
";//查询搜索次数最多的5条数据
$result = mysql_query("SELECT keywords, count(*) as sum FROM sou group by keywords Order By sum DESC LIMIT 0,6");
//输出
while($row = mysql_fetch_array($result))
{
echo "
" . $row['keywords'] . "
";}
//关闭连接
mysql_close($con);
?>
do.php 为表单接收,处理,验证页面。<?php
header("Content-type:text/html;charset=utf-8");
$keyword = $_POST["keyword"];
if($keyword == "")
{
echo "";
}
else{
//连接数据库
$con = mysql_connect("localhost","root","root");
if (!$con)
{
die('连接数据库失败,失败原因:' . mysql_error());
}
//设置数据库字符集
mysql_query("SET NAMES UTF8");
//查询数据库
mysql_select_db("test", $con);
//查询数据
$result = mysql_query("SELECT * FROM sou where title like '%$_POST[keyword]%'");
$num = mysql_num_rows($result);
if($num) //如果已经存在
{
//输出
while($row = mysql_fetch_array($result))
{
echo "
" . $row['title'] . "
";}
}
else{
echo "暂无资源!";
}
//插入数据
$conn = mysql_query("INSERT INTO sou (keywords)
VALUES ('$_POST[keyword]')");
//关闭连接
mysql_close($con);
}
?>
思路很简单,我已经将代码和数据库表打包好,自己下载后在本地服务器测试一下,大神可继续完善一下,也可以直接用在项目里。
数据库已有字段,也就是搜索这些字段是有结果的,如果搜索其它不存在的字段,就会echo "暂无资源!"