首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

PHP 分頁顯示實現詳解

     編輯:PHP 綜合知識

分頁核心原理

將資料庫結果集按固定大小切片顯示,需兩個關鍵參數:

  • $PageSize:每頁記錄數
  • $CurrentPageID:當前頁碼(從 1 開始)

MySQL LIMIT 子句應用

SELECT * FROM table LIMIT offset, rows
  • offset = ($CurrentPageID - 1) * $PageSize
  • rows = $PageSize

示例(每頁 10 條)

第 1 頁:SELECT * FROM table LIMIT 0, 10
第 2 頁:SELECT * FROM table LIMIT 10, 10
第 3 頁:SELECT * FROM table LIMIT 20, 10
...
通用模板:SELECT * FROM table LIMIT ($CurrentPageID - 1) * $PageSize, $PageSize

完整分頁邏輯

  1. 獲取總記錄數:SELECT COUNT(*) FROM table
  2. 計算總頁數:$numPages = ceil($totalRows / $PageSize)
  3. 處理邊界:$CurrentPageID = max(1, min($CurrentPageID, $numPages))
  4. 構造 SQL 並查詢當前頁數據
  5. 生成分頁導航 HTML(首頁、上一頁、頁碼、下一頁、尾頁)

關鍵衍生參數

$PreviousPageID = max(1, $CurrentPageID - 1);
$NextPageID = min($numPages, $CurrentPageID + 1);

實戰注意事項

  • URL 參數傳遞 page 參數,如 list.php?page=3
  • 大數據量時避免 OFFSET 深分頁性能問題,改用游標分頁(WHERE id > $lastId LIMIT $PageSize)
  • 分頁導航建議採用「省略號」模式,避免頁碼過多影響體驗
  • 結合緩存(Redis/Memcached)存儲總數與熱門頁面數據

總結

分頁本質是 LIMIT offset, rows 的參數化計算。掌握總記錄數 → 總頁數 → 當前頁邊界修正 → SQL 構造 → 導航渲染 這條主線,即可靈活應用於任何列表場景。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved