首頁 > 後端開發 > PHP問題 > php怎麼實作關鍵字搜尋mysql數據

php怎麼實作關鍵字搜尋mysql數據

PHPz
發布: 2023-04-19 09:31:47
原創
981 人瀏覽過

隨著網路的發展,檢索引擎已經成為了人們獲取資訊的主要方式之一。在網站開發中,實現關鍵字搜尋功能也逐漸成為了必備的需求。本文將介紹如何利用php語言來實現關鍵字搜尋mysql資料的功能。

一、準備工作

在開始寫程式碼之前,我們需要先做一些準備。首先,需要確保我們已經有了一個mysql資料庫,並且其中已經有了一些資料。

接著,在mysql資料庫中建立一張測試資料表。我們可以使用以下的SQL語句來建立一個名為"test"的資料表:

CREATE TABLE test (
 id int(11) NOT NULL AUTO_INCREMENT,
title varchar(255) NOT NULL,
 content text NOT NULL,
 PRIMARY KEY (id)
) ENGINE=InnoDB AUTO_INCREMENT =1 DEFAULT CHARSET=utf8mb4;

這張資料表中包含了三個欄位:id、title和content。其中,id字段為自增字段,用於唯一標識每一條資料。 title欄位表示資料的標題,content字段表示資料的內容。

二、實作搜尋功能

一般來說,關鍵字搜尋功能可以由兩個步驟組成:輸入關鍵字和查詢資料。在php中,我們可以透過取得使用者輸入的關鍵字並將其與資料庫中的資料進行比對來實現搜尋功能。

1.取得使用者輸入的關鍵字

首先,我們需要在頁面中新增一個包含輸入框和提交按鈕的表單,用於接收使用者輸入的關鍵字。程式碼如下:


 
 

這個表單包含了一個文字方塊和一個提交按鈕。當使用者點擊提交按鈕後,表單會將使用者輸入的關鍵字提交到名為"search.php"的php檔案中進行處理。

在名為"search.php"的檔案中,我們需要先取得使用者輸入的關鍵字。程式碼如下:

$keyword = $_GET['keyword'];

這段程式碼使用了php內建的$_GET變數來取得以GET方式提交至"search.php"文件中的數據。在本例中,使用者輸入的關鍵字會儲存在$keyword變數中。

2.查詢資料

取得到使用者輸入的關鍵字後,我們需要在mysql資料庫中查詢包含該關鍵字的資料。程式碼如下:

// 連線資料庫
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = " dbname";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
 die("連線失敗: " . $ conn->connect_error);
}

// 查詢資料
$sql = "SELECT * FROM test WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%' ";
$result = $conn->query($sql);

// 輸出結果
if ($result->num_rows > 0) {
 while( $row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
登入後複製
登入後複製

}
} else {
 echo "沒有找到相關資料";
}

在這在段程式碼中,我們先連接了mysql資料庫,並使用了php內建的mysqli類別來執行SQL查詢語句。 SQL語句使用了LIKE運算子來符合title和content欄位中包含$keyword的資料。

接著,我們使用了php內建的query()方法來執行上述SQL語句,並將結果保存在$result變數中。如果查詢到了數據,則使用while循環將查詢到的每個數據依序輸出到頁面上。

如果沒有查詢到相關數據,則輸出"沒有找到相關數據"的提示資訊。

三、完整程式碼

將前面兩個步驟的程式碼組合起來,就可以完整地實現搜尋功能了。完整的php程式碼如下:

$keyword = $_GET['keyword'];

$servername = "localhost";
$username = " username";
$password = "password";
$dbname = "dbname";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
 die("連線失敗: " . $conn->connect_error);
}

#$sql = "SELECT * FROM test WHERE title LIKE '%$keyword%' OR content LIKE '%$keyword%'";
$result = $conn->query($sql);

if ($result->num_rows > ; 0) {
 while($row = $result->fetch_assoc()) {

echo "标题:" . $row["title"] . "<br>内容:" . $row["content"] . "<br><br>";
登入後複製
登入後複製

}
} else {
 echo "沒有找到相關資料";
}

$conn->close();
?>

#四、總結

透過本文的介紹,我們學習如何使用php語言來實現關鍵字搜尋mysql資料的功能。在實現這個功能的過程中,我們需要掌握如何取得使用者輸入的資料、如何連接資料庫、如何執行SQL查詢語句並將查詢到的資料輸出到頁面上。

在實際的網站開發中,搜尋功能的實作往往比較複雜。我們需要綜合運用php、mysql、javascript等多種語言和技術來完成這個任務。但是,在掌握了基本的搜尋功能實現方法之後,我們就可以更好地理解並參與更複雜的網站開發。

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

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