首頁 > 後端開發 > PHP問題 > php怎麼實現關鍵字搜尋功能

php怎麼實現關鍵字搜尋功能

藏色散人
發布: 2023-03-14 20:44:01
原創
3967 人瀏覽過

php實作關鍵字搜尋功能的方法:1、建立資料庫;2、取得輸入的關鍵字;3、進行資料庫連結;4、將書名或描述中包含關鍵字文字的記錄查詢出來,並把查詢到的結果循環顯示出來即可。

php怎麼實現關鍵字搜尋功能

本文操作環境:Windows7系統、PHP7.1版、DELL G3電腦

php怎麼實現關鍵字搜尋功能?

PHP實作關鍵字搜尋後描紅功能範例

在剛開始學習php的時候,就對搜尋過後的關鍵字描紅感到好奇,但是這幾天在鞏固php基礎的時候,就發現原來這樣的效果實現並不難。按照慣例,先給大家看看效果圖。

運行效果圖

php怎麼實現關鍵字搜尋功能

#資料庫相關

  • 資料庫名稱是book,只有一個資料庫表,也是book,模擬了5個資料。
  • name欄位是書名,description欄位是書的描述

php怎麼實現關鍵字搜尋功能

#程式碼

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title></title>
  <link rel="stylesheet" href="">
</head>
<body>
<form action="14.php" method="post">
  请输入关键字:<input type="text" name="keyword">
  <input type="submit" value="提交" />
</form>
<?php
  if(!empty($_POST[&#39;keyword&#39;])){
    $keyword = $_POST[&#39;keyword&#39;];//获取输入的关键字
    //进行数据库连接
    $conn = mysql_connect("localhost","root","1234");
    if(!$conn){
      die("数据库连接失败");
    }
    $flag = mysql_select_db("book",$conn);
    if(!$flag){
      die("数据库打开失败");
    }
    mysql_query("set names utf8");
    $sql = "select * from book where name like &#39;%$keyword%&#39; or description like &#39;%$keyword%&#39;";
    $result = mysql_query($sql,$conn);
    while($row = mysql_fetch_assoc($result)){
?>
<div style="width:300px;height:100px;background-color: #ccc;margin-bottom: 10px">
  <p>书名:<?php echo str_ireplace($keyword, "<font color=&#39;#f00&#39;>$keyword</font>",$row[&#39;name&#39;])?></p>
  <p>描述:<?php echo str_ireplace($keyword, "<font color=&#39;#f00&#39;>$keyword</font>",$row[&#39;description&#39;])?></p>
</div>
<?php
  }
}else{
  echo "很遗憾,没有找到书籍";
}
?>
</body>
</html>
登入後複製

最後說一下實現的原理,首先先獲取從文本框輸入的關鍵字文字,然後就是連接資料庫進行查詢,將書名中或者描述中包含關鍵字文字的記錄查詢出來,把查詢到的結果循環顯示出來,在顯示書名和描述的時候,用str_ireplace()函數將其中的關鍵字文字替換成帶有紅色的文字,就實現了關鍵字描紅的效果。

推薦學習:《PHP影片教學

以上是php怎麼實現關鍵字搜尋功能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板