class Pagination {
var $pageSize; //頁大小
var $pageNo; //當前頁碼
var $rowCount; //記錄總數
var $pageCount; //總頁數
var $records; //當前頁記錄
var $currentPageSize; //當前頁記錄總數
var $currentPageStartNo; //當前頁開始記錄號
//判斷是否有電腦教程之家 http://www.pcppc.cn
function hasNextPage() {
return $this->pageNo < $this->pageCount;
}
//取得電腦教程之家 http://www.pcppc.cn頁碼
function getNextPageNo() {
return $this->pageNo + 1;
}
//判斷是否有上一頁
function hASPriorPage() {
return $this->pageNo > 1;
}
//取得上一頁頁碼
function getPriorPageNo() {
return $this->pageNo - 1;
}
//判斷是否第一頁
function isFirstPage(){
return $this->pageNo == 1 || $this->pageCount==0;
}
//判斷是否最後一頁
function isLastPage(){
return $this->pageNo == $this->pageCount || $this->pageCount==0;
}
//裝載某一頁數據,成功則返回true,失敗則返回false
// dataMaker是一個函數名,用於將一條記錄轉換為一個對象
// 有一個參數為當前記錄所有字段的值(一個以數字或字段名為索引的數組)
function load($con, $sql, $dataMaker, $pageSize, $pageNo){
//頁大小和當前頁碼必須>=1
if( $pageSize<1 || $pageNo<1 ) return false;
//查詢
if( $rst = @MySQL_que
您正在看的MySQL教程是:MySQL分頁模型(Pagination.PHP)。ry($sql, $con) ){
$this->pageSize = $pageSize;
$this->pageNo = $pageNo;
$this->rowCount = @MySQL_num_rows($rst);
$this->pageCount = (int)(($this->rowCount + $this->pageSize - 1) / $this->pageSize);
$this->records = array();
//將光標移動到指定頁的第一條記錄前
$this->currentPageStartNo = ($this->pageNo - 1) * $this->pageSize + 1;
$firstRowNo = $this->currentPageStartNo;
while( --$firstRowNo>0 && @MySQL_fetch_array($rst) );
//取出指定頁的數據
$read = 0;
$this->currentPageSize = 0;
while( $read<$this->pageSize && $row=@MySQL_fetch_array($rst) ){
$this->records[$this->currentPageSize++] = $dataMaker($row);
$read++;
}
}
else{
return false;
}
return true;
}
};
?>
文