PHP搜索是一个常见的功能,它可以让用户在网站上查找特定的信息,在这篇文章中,我们将介绍如何使用PHP实现一个简单的搜索功能。
1、数据库准备
我们需要一个数据库来存储我们要搜索的数据,这里我们使用MySQL数据库,创建一个名为search_db
的数据库,并在其中创建一个名为articles
的表,用于存储文章的标题和内容。
CREATE DATABASE search_db; USE search_db; CREATE TABLE articles ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255) NOT NULL, content TEXT NOT NULL );
向articles
表中插入一些示例数据:
INSERT INTO articles (title, content) VALUES ('PHP入门教程', '这是一篇关于PHP入门的教程,适合初学者阅读。'), ('PHP高级技巧', '本文将介绍一些PHP高级技巧,帮助开发者提高编程水平。'), ('HTML与CSS基础', '这是一篇关于HTML和CSS基础知识的文章,适合初学者学习。');
2、PHP代码实现
接下来,我们需要编写PHP代码来实现搜索功能,创建一个名为search.php
的文件,用于处理搜索请求,在这个文件中,我们需要获取用户输入的关键词,并连接到数据库,执行搜索查询。
<?php // 连接数据库 $servername = "localhost"; $username = "root"; $password = ""; $dbname = "search_db"; $conn = new mysqli($servername, $username, $password, $dbname); if ($conn->connect_error) { die("连接失败: " . $conn->connect_error); } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>PHP搜索</title> </head> <body> <h1>PHP搜索</h1> <form action="search_results.php" method="get"> <input type="text" name="keyword" placeholder="请输入关键词"> <input type="submit" value="搜索"> </form> </body> </html>
在上面的代码中,我们创建了一个表单,用户可以在其中输入关键词,当用户点击“搜索”按钮时,表单将提交到search_results.php
文件,我们需要在这个文件中处理搜索请求,并显示搜索结果。
3、显示搜索结果
在search_results.php
文件中,我们需要获取用户输入的关键词,并在数据库中执行搜索查询,我们将查询结果输出到页面上。
<?php // 获取用户输入的关键词 $keyword = $_GET['keyword']; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>搜索结果 - PHP搜索</title> </head> <body> <h1>搜索结果 - PHP搜索</h1> <?php if ($keyword): ?> <h2>搜索关键词:<?php echo $keyword; ?></h2> <?php // 连接数据库并执行搜索查询 ?> <?php $conn = new mysqli($servername, $username, $password, $dbname); ?> <?php if ($conn->connect_error): ?> die("连接失败: " . $conn->connect_error); <?php endif; ?> <?php $sql = "SELECT * FROM articles WHERE content LIKE '%$keyword%'"; ?> <?php $result = $conn->query($sql); ?> <?php if ($result->num_rows > 0): ?> <ul> <?php while ($row = $result->fetch_assoc()): ?> <li><a href="article.php?id=<?php echo $row['id']; ?>"><?php echo $row['title']; ?></a></li> <?php endwhile; ?> </ul> <?php else: ?> <p>没有找到相关结果。</p> <?php endif; ?> <?php else: ?> <p>请输入关键词进行搜索。</p> <?php endif; ?> </body> </html>
在上面的代码中,我们首先获取用户输入的关键词,我们连接到数据库,并执行一个SQL查询,该查询将在articles
表中查找包含关键词的文章,查询结果将显示在一个无序列表中,如果没有找到相关结果,我们将显示一条消息提示用户。