使用 MySQL LIMIT 和 OFFSET 進行分頁
分頁對於以可管理的區塊顯示大型資料集至關重要。 MySQL 提供了兩個指令 LIMIT 和 OFFSET 來啟用此功能。
LIMIT 設定要檢索的最大行數,而 OFFSET 則指定開始檢索先前要跳過的行數。這允許您檢索特定頁面的資料。
分頁範例程式碼:
考慮以下程式碼,每頁顯示四個項目:
$result = mysqli_query($con, "SELECT * FROM menuitem LIMIT 4");
此程式碼將從menuitem 表中擷取前四行。要建立多個頁面,您可以使用 OFFSET 跳過行:
$offset = 4; $result = mysqli_query($con, "SELECT * FROM menuitem LIMIT 4 OFFSET $offset");
此程式碼將跳過前四行並檢索接下來的四行。
決定總頁數頁數:
要建立沒有硬編碼頁碼的分頁,必須先確定總頁數。您可以透過計算表中的總行數來實現此目的:
$sql = "SELECT COUNT(*) FROM menuitem"; $result = mysqli_query($con, $sql); $row_count = mysqli_num_rows($result); // Free the result set mysqli_free_result($result);
現在,您可以計算頁面數:
$items_per_page = 4; $page_count = (int)ceil($row_count / $items_per_page);
產生頁面連結:
已知總頁數,就可以生成頁面links:
for ($i = 1; $i <= $page_count; $i++) { if ($i === $page) { // This is the current page echo 'Page ' . $i . '<br>'; } else { // Show link to other page echo '<a href="/menuitem.php?page=' . $i . '">Page ' . $i . '</a><br>'; } }
這將生成所有頁面的鏈接,突出顯示當前頁面。
透過利用此方法,您可以建立分頁,而無需硬編碼頁碼,並確保顯示的彈性大型資料集。
以上是如何使用 LIMIT 和 OFFSET 在 MySQL 中實現分頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!