溫馨提示×

如何使用mysqli_fetch_array進(jìn)行分頁查詢

小樊
82
2024-08-08 10:04:53
欄目: 云計(jì)算

要使用mysqli_fetch_array進(jìn)行分頁查詢,首先需要執(zhí)行一個(gè)帶有LIMIT和OFFSET子句的SQL查詢語句,以獲取指定范圍內(nèi)的結(jié)果集。然后使用mysqli_fetch_array逐行獲取查詢結(jié)果。

以下是一個(gè)示例代碼,演示如何使用mysqli_fetch_array進(jìn)行分頁查詢:

<?php
// 連接數(shù)據(jù)庫
$mysqli = new mysqli("localhost", "username", "password", "database");

// 檢查連接是否成功
if ($mysqli->connect_error) {
    die("連接失敗: " . $mysqli->connect_error);
}

// 定義每頁顯示的記錄數(shù)
$records_per_page = 10;

// 獲取當(dāng)前頁數(shù)
if (isset($_GET['page']) && is_numeric($_GET['page'])) {
    $page = $_GET['page'];
} else {
    $page = 1;
}

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

// 執(zhí)行查詢
$sql = "SELECT * FROM your_table LIMIT $offset, $records_per_page";
$result = $mysqli->query($sql);

// 輸出查詢結(jié)果
if ($result->num_rows > 0) {
    while ($row = mysqli_fetch_array($result)) {
        // 處理每一行數(shù)據(jù)
        echo $row['column_name'] . "<br>";
    }
} else {
    echo "沒有結(jié)果";
}

// 關(guān)閉數(shù)據(jù)庫連接
$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> ";
}
?>

在上面的示例代碼中,我們首先定義了每頁顯示的記錄數(shù)和當(dāng)前頁數(shù)。然后計(jì)算偏移量,并執(zhí)行帶有LIMIT和OFFSET子句的SQL查詢語句。接著使用mysqli_fetch_array逐行獲取查詢結(jié)果,并輸出每一行數(shù)據(jù)。最后輸出分頁鏈接,包括第一頁、上一頁和下一頁的鏈接。

請將示例代碼中的your_table和column_name替換為你自己的表名和列名,your_page.php替換為你的頁面名稱。并根據(jù)實(shí)際需求調(diào)整每頁顯示的記錄數(shù)和分頁鏈接的樣式。

0