- 87浏览
- 2023-09-15
尊敬的读者,欢迎来到站三界导航!今天,我将为您讲解如何使用PHP编写一个简单但实用的搜索功能。搜索功能通常是网站中必不可少的一部分,它使用户能够快速找到他们所需的信息。
本文采用示例代码方式来演示站内搜索功能的php实现方法,我将给出一个完整的PHP代码例子和相应的HTML代码,以帮助您理解和实现这个功能。"行动是治愈恐惧的灵丹妙药,而犹豫、拖延将不断滋养恐惧。"- 泰戈尔。快跟着我学习起来吧。
首先,在MySQL数据库中创建一个名为"search_engine"的数据库,并在其中创建一个名为"articles"的表。该表包含两个字段:id(作为唯一标识符)和content(文章内容)。可以使用以下SQL语句进行创建:
CREATE DATABASE search_engine;
USE search_engine;
CREATE TABLE articles (
id INT PRIMARY KEY AUTO_INCREMENT,
content TEXT
);
接下来,我们需要创建一个HTML表单,允许用户输入搜索关键字。在这个例子中,我们使用一个简单的文本输入框作为搜索框,并通过提交按钮触发搜索请求。以下是相应的HTML代码:
<!DOCTYPE html>
<html>
<head>
<title>搜索</title>
</head>
<body>
<form method="GET" action="search.php">
<input type="text" name="keywords" placeholder="请输入关键字">
<input type="submit" value="搜索">
</form>
</body>
</html>
接下来是核心部分 - search.php文件。此文件负责处理用户的搜索请求,并从数据库中获取相符的结果。以下是完整的PHP代码:
<?php
// 连接到MySQL数据库
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "search_engine";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("连接失败: " . $conn->connect_error);
}
// 获取搜索关键字
$keywords = $_GET['keywords'];
// 执行模糊查询
$sql = "SELECT * FROM articles WHERE content LIKE '%$keywords%' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// 输出匹配结果
while ($row = $result->fetch_assoc()) {
echo "<p>文章ID:" . $row["id"] . "</p>";
echo "<p>文章内容:" . $row["content"] . "</p>";
echo "<hr>";
}
} else {
echo "没有找到匹配的结果";
}
// 关闭数据库连接
$conn->close();
?>
通过上述代码,我们首先连接到MySQL数据库,然后获取用户输入的搜索关键字,并执行模糊查询。如果查询返回匹配结果,则输出对应的文章ID和内容。如果没有找到匹配结果,则显示一个提示消息。最后,记得保存以上代码为名为search.php的文件,并将其放置于与HTML表单同一目录中。经过以上步骤,现在您已经学会了如何使用PHP编写一个简单的搜索功能,并且可以实现%keywords%模糊查询方式从MySQL数据库中获取数据。
我们可以创建另一个名为search_results.html的文件来展示搜索结果。
下面是相应的HTML代码:
<!DOCTYPE html>
<html>
<head>
<title>搜索结果</title>
<style>
.article {
margin-bottom: 20px;
}
</style>
</head>
<body>
<?php
// 获取搜索关键字
$keywords = $_GET['keywords'];
// 执行模糊查询
$sql = "SELECT * FROM articles WHERE content LIKE '%$keywords%' ";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while ($row = $result->fetch_assoc()) {
echo "<div class='article'>";
echo "<h2>文章ID:" . $row["id"] . "</h2>";
echo "<p>文章内容:" . $row["content"] . "</p>";
echo "</div>";
}
} else {
echo "<p>没有找到匹配的结果</p>";
}
// 关闭数据库连接
$conn->close();
?>
</body>
</html>
以上代码将展示每篇匹配的文章,并按照一定样式进行排版显示。如果没有找到匹配的结果,将会输出一条提示消息。记得将上述代码保存为名为search_results.html的文件,并与PHP代码中的action属性对应。请务必确保MySQL数据库连接信息的准确性,并根据实际情况进行修改。
版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。