隨著網站內容不斷增加,站內搜索功能成為現代CMS系統不可或缺的部分。通過搜索功能,用戶能夠迅速定位所需信息,提升網站體驗。本文將從零開始,介紹如何用PHP實現一個簡單實用的站內搜索功能,並附帶完整代碼示例。
首先,創建一個用於存儲網站文章的數據庫表。假設表名為articles ,包含id 、 title和content三個字段。示例建表SQL語句如下:
CREATE TABLE articles (
id INT AUTO_INCREMENT PRIMARY KEY,
title VARCHAR(255),
content TEXT
);
在前端頁面添加一個簡單的搜索表單,用戶輸入關鍵詞後提交到搜索處理頁面:
<form action="search.php" method="GET">
<input type="text" name="keyword" placeholder="請輸入關鍵詞">
<input type="submit" value="搜尋">
</form>
點擊搜索按鈕後,表單將通過GET方式把關鍵詞發送到search.php頁面進行查詢處理。
在search.php中,接收用戶提交的關鍵詞,並在數據庫中查找標題或內容包含該關鍵詞的記錄。示例代碼如下:
<?php
// 獲取關鍵詞
$keyword = $_GET['keyword'] ?? '';
// 連接數據庫
$db = new mysqli('localhost', 'username', 'password', 'database_name');
if ($db->connect_error) {
die("數據庫連接失敗:" . $db->connect_error);
}
// 查詢語句,使用LIKE进行模糊搜尋
$sql = "SELECT * FROM articles WHERE title LIKE '%{$keyword}%' OR content LIKE '%{$keyword}%'";
$result = $db->query($sql);
// 输出搜尋结果
if ($result && $result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "<h3>" . htmlspecialchars($row['title']) . "</h3>";
echo "<p>" . htmlspecialchars($row['content']) . "</p>";
echo "<hr>";
}
} else {
echo "沒有找到匹配的結果。";
}
$db->close();
?>
上述代碼首先連接數據庫,然後執行SQL查詢,通過LIKE操作符模糊匹配關鍵詞,最後將匹配的文章標題和內容展示給用戶。
當前實現為基礎版本,後續可根據需求優化搜索體驗:
本文介紹了用PHP搭建CMS站內搜索功能的完整流程,包括數據庫設計、前端表單和後端搜索實現。通過簡單的代碼示例,幫助開發者快速實現內容搜索,提升網站用戶體驗。希望這些內容對你的項目開發有所幫助。