首頁 >資料庫 >mysql教程 >如何使用 PHP 對 MySQL 查詢進行分頁以每頁顯示 10 個結果?

如何使用 PHP 對 MySQL 查詢進行分頁以每頁顯示 10 個結果?

Patricia Arquette
Patricia Arquette原創
2024-12-02 04:06:09234瀏覽

How to Paginate MySQL Queries with PHP to Display 10 Results Per Page?

PHP & MySQL 分頁

在處理大型資料集時,分頁至關重要,因為它允許使用者只載入相關資料的一部分,從而減少伺服器負載和提高應用程式回應速度。本問答將指導您如何使用 PHP 和 MySQL 分頁查詢。

問題:

如何對 MySQL 查詢分頁,每頁顯示 10 個結果?

答案:

<?php

// 数据库连接代码在此处省略

$perPage = 10;
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1;
$startAt = $perPage * ($page - 1);

$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);

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

$query = "SELECT * FROM 'redirect'
WHERE 'user_id'= \''.$_SESSION['user_id'].' \' 
ORDER BY 'timestamp' LIMIT $startAt, $perPage";

$r = mysql_query($query);

// 在此处显示结果

echo $links; // 显示其他页面的链接

解釋:

  1. 設定分頁變數:
  2. 計算 SQL 偏移量:$startAt 計算出查詢中 SKIP 子句所需的偏移量。
  3. 取得結果總頁數:執行一個單獨的查詢以取得資料集中的總結果數,然後計算總頁數。
  4. 生成分頁連結:使用循環產生其他頁面的鏈接,並突出顯示當前頁面。
  5. 執行分頁查詢:將 OFFSET 和 LIMIT 子句新增至主查詢以限制查詢結果。
  6. 顯示結果:在自訂頁面中顯示結果,並在頁面底部顯示分頁連結。

以上是如何使用 PHP 對 MySQL 查詢進行分頁以每頁顯示 10 個結果?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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