温馨提示×

如何使用mysqli_fetch_array进行分页查询

小樊
82
2024-08-08 10:04:53
栏目: 云计算

要使用mysqli_fetch_array进行分页查询,首先需要执行一个带有LIMIT和OFFSET子句的SQL查询语句,以获取指定范围内的结果集。然后使用mysqli_fetch_array逐行获取查询结果。

以下是一个示例代码,演示如何使用mysqli_fetch_array进行分页查询:

<?php
// 连接数据库
$mysqli = new mysqli("localhost", "username", "password", "database");

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

// 定义每页显示的记录数
$records_per_page = 10;

// 获取当前页数
if (isset($_GET['page']) && is_numeric($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = 1;
}

// 计算偏移量
$offset = ($page - 1) * $records_per_page;

// 执行查询
$sql = "SELECT * FROM your_table LIMIT $offset, $records_per_page";
$result = $mysqli->query($sql);

// 输出查询结果
if ($result->num_rows > 0) {
    while ($row = mysqli_fetch_array($result)) {
        // 处理每一行数据
        echo $row['column_name'] . "<br>";
    }
} else {
    echo "没有结果";
}

// 关闭数据库连接
$mysqli->close();

// 输出分页链接
echo "<a href='your_page.php?page=1'>第一页</a> ";

// 输出上一页链接
if ($page > 1) {
    echo "<a href='your_page.php?page=".($page - 1)."'>上一页</a> ";
}

// 输出下一页链接
if ($result->num_rows == $records_per_page) {
    echo "<a href='your_page.php?page=".($page + 1)."'>下一页</a> ";
}
?>

在上面的示例代码中,我们首先定义了每页显示的记录数和当前页数。然后计算偏移量,并执行带有LIMIT和OFFSET子句的SQL查询语句。接着使用mysqli_fetch_array逐行获取查询结果,并输出每一行数据。最后输出分页链接,包括第一页、上一页和下一页的链接。

请将示例代码中的your_table和column_name替换为你自己的表名和列名,your_page.php替换为你的页面名称。并根据实际需求调整每页显示的记录数和分页链接的样式。

0