随着网站内容不断增加,站内搜索功能成为现代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站内搜索功能的完整流程,包括数据库设计、前端表单和后端搜索实现。通过简单的代码示例,帮助开发者快速实现内容搜索,提升网站用户体验。希望这些内容对你的项目开发有所帮助。