一、經過php查詢mysql數據庫的關鍵詞,用%$_POST[keyword]%實現關鍵詞搜索
二、每次搜索關鍵詞,都把該關鍵詞插入數據庫的keywords字段作記錄,而後查詢keywords全部記錄並輸出,便可實現最近搜索的關鍵詞功能
三、計算keywords裏全部重複字段並排序,輸出前5個最多人搜索的關鍵詞,便可實現最近熱搜javascript
sou.php ,這是表單提交頁面+最近搜索,最近熱搜關鍵詞輸出頁面。php
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="https://code.jquery.com/jquery-3.2.1.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $("button").click(function(){ $("p").toggle(); }); }); </script> <style type="text/css"> button{ background: none; border:none; } </style> </head> <body> <button type="button"> <form action="do.php" method="post"> <input type="text" name="keyword" > <input type="submit" name="btn" VALUE="搜索"> </form> </button> <h2 style="color:#f00;">最近搜索</h2> <?php 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 "<p>" . $row['keywords'] . "</p>"; } echo "<h2 style='color:#f00;'>最近熱搜</h2>"; //查詢搜索次數最多的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 "<p>" . $row['keywords'] . "</p>"; } //關閉鏈接 mysql_close($con); ?> </body> </html>
do.php 爲表單接收,處理,驗證頁面。css
<?php header("Content-type:text/html;charset=utf-8"); $keyword = $_POST["keyword"]; if($keyword == "") { echo "<script>alert('請不要留空!'); history.go(-1);</script>"; } 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 "<p>" . $row['title'] . "</p>"; } } else{ echo "暫無資源!"; } //插入數據 $conn = mysql_query("INSERT INTO sou (keywords) VALUES ('$_POST[keyword]')"); //關閉鏈接 mysql_close($con); } ?>
思路很簡單,我已經將代碼和數據庫表打包好,本身下載後在本地服務器測試一下,大神可繼續完善一下,也能夠直接用在項目裏。html
數據庫已有字段,也就是搜索這些字段是有結果的,若是搜索其它不存在的字段,就會echo "暫無資源!"java
代碼包,點擊下載mysql
這個功能我已經在個人項目中用上來了,點擊預覽項目jquery