class PageQuery extends dbClass {
// 核心屬性
var $Offset; // 記錄偏移量
var $Total; // 總筆數
var $maxLine; // 每頁筆數
var $result; // 查詢結果資源
var $TPages; // 總頁數
var $CPages; // 當前頁碼
var $PageQuery; // 分頁傳遞參數
var $Query; // 原始 SQL
var $QueryPart; // FROM 之後的片段
var $QueryString; // QUERY_STRING
var $FilePath; // 當前腳本路徑
// 建構子
function PageQuery($pageLine=10) {
$this->dbClass();
$this->maxLine = $pageLine;
}
// ... getter 方法省略 ...
}
FROM 後段落作為 $QueryPart,用於 COUNT(*) 查詢。$GLOBALS['offset'] 或預設 0。SELECT COUNT(*) $QueryPart。$this->TPages = ceil($this->Total / $this->maxLine);
$this->CPages = floor($this->Offset / $this->maxLine) + 1;
$Query . " LIMIT $Offset, $maxLine"。QUERY_STRING 保留原查詢參數。include("dbClass.inc");
include("PageQuery.inc");
$pq = new PageQuery(15);
$pq->myQuery("SELECT id, title, created FROM articles WHERE status=1 ORDER BY id DESC");
while ($row = mysql_fetch_assoc($pq->result)) {
echo "{$row['id']}. {$row['title']} <br>";
}
echo $pq->PageLegend();
現代專案建議改寫為 PDO/Mysqli 預處理語句,並將分頁邏輯封裝為獨立服務類,支援游標分頁以應對百萬級資料表。