PHP implements the question search history and recommendation functions in the knowledge question and answer website.
In a knowledge question and answer website, users often need to perform question searches to find the answers they need. In order to improve the user experience, we can provide users with a search history function so that users can easily view the questions they have searched for before, and we can also recommend related questions to users through the recommendation function. Below we will use PHP to implement these two functions.
1) Create a data table named "search_history", containing two fields: id and keyword.
CREATE TABLE search_history (
id INT AUTO_INCREMENT PRIMARY KEY, keyword VARCHAR(255) NOT NULL
);
2) When the user submits a question search, insert the search keywords entered by the user into the "search_history" table.
// 连接数据库 $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) Display search history: Get the keywords previously searched by the user from the database and display them on the page .
// 连接数据库 $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) Create a data table named "questions", containing two fields: id and content.
CREATE TABLE questions (
id INT AUTO_INCREMENT PRIMARY KEY, content VARCHAR(255) NOT NULL
);
2) After the user submits the question search, the search keywords and related questions are saved in the database.
// 连接数据库 $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) Based on the user’s current search keywords, obtain relevant questions from the database and recommend them to the user .
// 连接数据库 $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);
?>
Through the above code examples, we can implement question search history and recommendation functions in the knowledge question and answer website to improve the user experience , helping users find the answers they need faster. Of course, this is just a simple example, and more factors need to be considered in actual applications, such as optimization of search algorithms and improvement of database performance. However, I hope this article can provide you with a basic idea and implementation method.
The above is the detailed content of PHP implements the question search history and recommendation functions in the knowledge question and answer website.. For more information, please follow other related articles on the PHP Chinese website!