首頁 >資料庫 >mysql教程 >如何實現每頁 10 筆記錄限制的 PHP 和 MySQL 分頁?

如何實現每頁 10 筆記錄限制的 PHP 和 MySQL 分頁?

Susan Sarandon
Susan Sarandon原創
2024-12-06 06:49:11466瀏覽

How to Implement PHP & MySQL Pagination with a 10-Record Limit per Page?

PHP 和MySQL 分頁:在頁面中顯示記錄

分頁是Web 開發中管理大型資料集和增強使用者體驗的一項關鍵技術。在本文中,我們將探討如何在 PHP 和 MySQL 中對結果進行分頁,設定每頁 10 個結果的限制。

建立 MySQL 查詢

MySQL用於取得記錄的查詢應包含適當的 LIMIT 子句。例如:

SELECT *
FROM 'redirect'
WHERE 'user_id' = \''.$_SESSION['user_id'].' \'
ORDER BY 'timestamp'
LIMIT 0, 10;

分頁的PHP程式碼

要在PHP中實作分頁,需要確定目前頁面,計算目前頁面的起始索引,取得資料庫中的記錄總數,並建立導航連結。

<?php
// Connect to your MySQL database

// Set the number of results per page
$perPage = 10;

// Get the current page number (if not set, assume page 1)
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;

// Calculate the start index for the current page
$startAt = $perPage * ($page - 1);

// Get the total number of records
$query = "SELECT COUNT(*) as total FROM redirect
WHERE user_id = '".$_SESSION['user_id']."'";
$r = mysql_fetch_assoc(mysql_query($query));
$totalPages = ceil($r['total'] / $perPage);

// Create navigation links
$links = "";
for ($i = 1; $i <= $totalPages; $i++) {
  $links .= ($i != $page) 
            ? "<a href='index.php?page=$i'>Page $i</a> "
            : "$page ";
}

// Get the records for the current page
$query = "SELECT * FROM 'redirect'
WHERE 'user_id' = \''.$_SESSION['user_id'].' \'
ORDER BY 'timestamp' LIMIT $startAt, $perPage";
?>

顯示記錄和分頁連結

獲得結果後,您可以將它們顯示在介面中。此外,您可以回顯 $links 變數以顯示不同頁面的導覽連結。

以上是如何實現每頁 10 筆記錄限制的 PHP 和 MySQL 分頁?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn