使用 PHP+MySQL 构建分页搜索系统:详细教程及代码示例

本文将带你一步步学习如何使用 PHP 和 MySQL 构建一个简单的分页搜索系统。我们将提供完整的代码示例,并解释每个部分的含义。

1. 连接数据库

首先,我们需要连接到 MySQL 数据库。以下代码展示了如何使用 PHP 连接到数据库。

<?php
// 连接数据库
$servername = 'localhost';
$username = 'root';
$password = '';
$dbname = 'mydatabase';
$conn = new mysqli($servername, $username, $password, $dbname);

// 检查连接是否成功
if ($conn->connect_error) {
  die('连接失败: ' . $conn->connect_error);
}
?>

2. 处理搜索关键字和页数

接下来,我们需要处理用户输入的搜索关键字和页数信息。

<?php
// 处理搜索关键字
if (isset($_GET['search'])) {
  $search = $_GET['search'];
} else {
  $search = '';
}

// 处理页数
if (isset($_GET['page'])) {
  $page = $_GET['page'];
} else {
  $page = 1;
}

// 每页显示的记录数
$records_per_page = 5;

// 计算起始记录位置
$start_from = ($page - 1) * $records_per_page;
?>

3. 查询数据库

使用用户输入的搜索关键字和页数信息,我们可以查询数据库并获取搜索结果。

<?php
// 查询数据库
$sql = 'SELECT * FROM products WHERE name LIKE '%'.$search.'%' LIMIT ' . $start_from . ', ' . $records_per_page;
$result = $conn->query($sql);
?>

4. 显示搜索结果

如果查询结果存在,则我们将显示搜索结果。

<?php
// 显示搜索结果
if ($result->num_rows > 0) {
  while ($row = $result->fetch_assoc()) {
    echo 'ID: ' . $row['id'] . ' - Name: ' . $row['name'] . '<br>';
  }
} else {
  echo 'No results found.';
}
?>

5. 显示分页链接

最后,我们需要显示分页链接,允许用户在不同的页面之间切换。

<?php
// 计算总页数
$sql = 'SELECT COUNT(id) AS total FROM products WHERE name LIKE '%'.$search.'%'';
$result = $conn->query($sql);
$row = $result->fetch_assoc();
$total_pages = ceil($row['total'] / $records_per_page);

// 显示分页链接
for ($i = 1; $i <= $total_pages; $i++) {
  echo '<a href='search.php?search='.$search.'&page='.$i.''>'.$i.'</a> '; 
}
?>

6. 关闭数据库连接

最后,我们需要关闭数据库连接。

<?php
// 关闭数据库连接
$conn->close();
?>

7. 搜索表单

可以使用以下 HTML 代码创建一个搜索表单。

<form action='search.php' method='GET'>
  <input type='text' name='search'>
  <input type='submit' value='Search'>
</form>

总结

本文介绍了如何使用 PHP 和 MySQL 构建一个简单的分页搜索系统,并提供了完整的代码示例。您可以根据实际需求修改代码中的数据库连接信息、表名和列名。

希望本文能够帮助您理解分页搜索系统的基本原理,并能将其应用到您的项目中。


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

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