站三界导航
首页 PHP代码php实现站内搜索,php模糊查询功能

php实现站内搜索,php模糊查询功能

  • PHP代码
  • 来源:站三界导航
  • 68阅读
  • 2023-07-21

尊敬的读者,欢迎来到站三界导航!今天,我将为您讲解如何使用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="请输入关键字">
        &nbsp;&nbsp;
        <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数据库连接信息的准确性,并根据实际情况进行修改。

本文结束
本文来自投稿,不代表站三界导航立场,如若转载,请注明出处:https://www.zhansanjie.com/article/details/47613.html

版权声明:

1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

2、本站仅提供信息发布平台,不承担相关法律责任。

3、若侵犯您的版权或隐私,请联系本站管理员删除。

4、本文由会员转载自互联网,如果您是文章原创作者,请联系本站注明您的版权信息。

分享
站三界导航
本站声明:本站严格遵守国家相关法律规定,非正规网站一概不予收录。本站所有资料取之于互联网,任何公司或个人参考使用本资料请自辨真伪、后果自负,站三界导航不承担任何责任。在此特别感谢您对站三界导航的支持与厚爱。