使用 PHP 在首页建立一个搜索框,支持全站模糊搜索

首先,在首页中加入一个搜索框的 HTML 代码:

<form action='/search.php' method='get'>
    <input type='text' name='keywords' placeholder='输入关键词进行搜索'>
    <button type='submit'>搜索</button>
</form>

其中,action 属性指定了提交搜索表单时的处理程序,这里我们设定为一个名为 search.php 的文件,该文件用于处理搜索请求。

接下来,我们需要在 search.php 文件中编写搜索处理代码。具体步骤如下:

  1. 获取搜索关键词
$keywords = $_GET['keywords'];
  1. 连接数据库
$con = mysqli_connect('localhost', 'username', 'password', 'dbname');

其中,localhost 指数据库服务器地址,usernamepassword 分别为数据库账号和密码,dbname 为数据库名。

  1. 构造 SQL 语句进行模糊搜索
$sql = "SELECT * FROM articles WHERE title LIKE '%{$keywords}%' OR content LIKE '%{$keywords}%'" ;

其中,articles 为文章表名,title 为文章标题字段,content 为文章内容字段。{$keywords} 为搜索关键词,使用 % 通配符进行模糊匹配。

  1. 执行 SQL 查询并返回结果
$result = mysqli_query($con, $sql);
  1. 在页面中显示搜索结果
while ($row = mysqli_fetch_assoc($result)) {
    // 显示搜索结果的 HTML 代码
}

完整的 search.php 代码如下:

<?php
$keywords = $_GET['keywords'];

$con = mysqli_connect('localhost', 'username', 'password', 'dbname');

$sql = "SELECT * FROM articles WHERE title LIKE '%{$keywords}%' OR content LIKE '%{$keywords}%'" ;

$result = mysqli_query($con, $sql);

while ($row = mysqli_fetch_assoc($result)) {
    // 显示搜索结果的 HTML 代码
}

mysqli_close($con);
?>

以上代码仅为示例,实际应用中需要根据具体情况进行修改和优化。

注意事项:

  • 为了安全起见,建议使用预处理语句(Prepared Statements)来防止 SQL 注入攻击。
  • 在实际应用中,您可以根据需要对搜索结果进行排序、分页等操作。
  • 为了提高搜索效率,可以考虑使用搜索引擎技术(如 Elasticsearch)来进行索引和搜索。

希望本教程能帮助您快速实现网站搜索功能!

PHP 全站模糊搜索功能实现教程 - 建立首页搜索框

原文地址: https://www.cveoy.top/t/topic/lDwI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录