PHP 實作知識問答網站中的問題搜尋歷史和推薦功能。
在知識問答網站中,使用者常常需要進行問題搜尋來尋找所需的答案。為了提升用戶體驗,我們可以為用戶提供搜尋歷史功能,讓用戶能夠輕鬆查看他們之前搜尋過的問題,並且還可以透過推薦功能給用戶推薦相關的問題。下面我們將使用 PHP 實作這兩個功能。
1)建立一個名為「search_history」的資料表,包含兩個欄位:id和keyword。
CREATE TABLE search_history (
id INT AUTO_INCREMENT PRIMARY KEY, keyword VARCHAR(255) NOT NULL
);
2)在使用者提交問題搜尋時,將使用者輸入的搜尋關鍵字插入「search_history」表中。
// 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 检查数据库连接 if (!$conn) { die("数据库连接失败: " . mysqli_connect_error()); } // 获取用户输入的搜索关键词 $keyword = $_POST["keyword"]; // 将搜索关键词插入到数据库中 $sql = "INSERT INTO search_history (keyword) VALUES ('$keyword')"; mysqli_query($conn, $sql); // 关闭数据库连接 mysqli_close($conn);
?>
3)顯示搜尋歷史記錄:從資料庫中取得使用者先前搜尋的關鍵字,並將其顯示到頁面上。
// 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 检查数据库连接 if (!$conn) { die("数据库连接失败: " . mysqli_connect_error()); } // 从数据库中获取搜索历史 $sql = "SELECT keyword FROM search_history ORDER BY id DESC LIMIT 10"; $result = mysqli_query($conn, $sql); // 显示搜索历史 if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { echo $row["keyword"] . "<br>"; } } else { echo "没有搜索历史。"; } // 关闭数据库连接 mysqli_close($conn);
?>
1)建立一個名為「questions」的資料表,包含兩個欄位:id和content。
CREATE TABLE questions (
id INT AUTO_INCREMENT PRIMARY KEY, content VARCHAR(255) NOT NULL
);
#2)在使用者提交問題搜尋後,將搜尋關鍵字和相關的問題儲存到資料庫中。
// 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 检查数据库连接 if (!$conn) { die("数据库连接失败: " . mysqli_connect_error()); } // 获取用户输入的搜索关键词 $keyword = $_POST["keyword"]; // 查询相关的问题 $sql = "SELECT content FROM questions WHERE content LIKE '%$keyword%'"; $result = mysqli_query($conn, $sql); // 将搜索关键词和相关问题保存到数据库中 while ($row = mysqli_fetch_assoc($result)) { $content = $row["content"]; $sql = "INSERT INTO questions (content) VALUES ('$content')"; mysqli_query($conn, $sql); } // 关闭数据库连接 mysqli_close($conn);
?>
3)根據用戶的當前搜尋關鍵字,從資料庫中取得相關的問題,並將其推薦給用戶。
// 连接数据库 $conn = mysqli_connect("localhost", "username", "password", "database"); // 检查数据库连接 if (!$conn) { die("数据库连接失败: " . mysqli_connect_error()); } // 获取用户输入的搜索关键词 $keyword = $_POST["keyword"]; // 查询相关的问题 $sql = "SELECT content FROM questions WHERE content LIKE '%$keyword%'"; $result = mysqli_query($conn, $sql); // 显示推荐的问题 if (mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { echo $row["content"] . "<br>"; } } else { echo "没有相关的问题。"; } // 关闭数据库连接 mysqli_close($conn);
?>
透過以上的程式碼範例,我們可以在知識問答網站中實作問題搜尋歷史和推薦功能,提升使用者體驗,幫助使用者更快找到他們所需的答案。當然,這只是一個簡單的範例,在實際應用中還需要考慮更多的因素,例如搜尋演算法的最佳化和資料庫效能的提升等。但是,希望這篇文章可以為你提供一個基本的想法和實作方法。
以上是PHP 實作知識問答網站中的問題搜尋紀錄和推薦功能。的詳細內容。更多資訊請關注PHP中文網其他相關文章!