這個分頁類,參考了慕課網和燕十八的分頁類。
慕課網分頁類學習網址:http://www.imooc.com/learn/419
效果圖:
<?php
class page{
public $cpage; //傳入的頁碼
public $totalnum; //總的記錄數,數據
public $total_page; //總頁數
public $per_page = 10; //每頁的記錄數
public $showpage = 5; //頁碼條顯示的頁碼個數
public $pageoffset; //頁碼條偏移的頁碼個數
public $pageup; //上一頁
public $pagedown; //下一頁
public $start=1; //開始頁碼
public $end; //結束頁碼
public $fycod = array();
//初始化各個參數
public function __construct($cpage,$totalnum){
$this->cpage = $cpage;
$this->totalnum = $totalnum;
$this->pageoffset = ($this->showpage-1)/2;
$this->total_page = $this->totalnum/10;
$this->end = $this->total_page;
//總頁數
$this->total_page = ceil($this->totalnum/$this->per_page);
}
//返回總的頁數
public function gettotal_page(){
return $this->total_page;
}
//返回每頁的記錄數
public function getper_page(){
return $this->per_page;
}
//返回當前頁
public function getcpage()
{
return $this->cpage;
}
//修改當前頁
public function modcpage($cpage){
$this->cpage = $cpage;
}
//返回上一頁
public function getpageup(){
if($this->cpage<=1){
return $this->pageup = 1;
}
return $this->pageup = $this->cpage -1;
}
//返回下一頁
public function getpagedown(){
if($this->cpage < $this->total_page){
return $this->pagedown = $this->cpage+1;
}
}
//返回一個數組,關于頁碼的各個參數
public function getpages(){
$pages = array();
$pages['total_page'] = $this->total_page;
$pages['per_page'] = $this->per_page;
$pages['cpage'] = $this->cpage;
$pages['pageup'] = $this->getpageup();
$pages['pagedown'] = $this->getpagedown();
$pages['start'] = $this->start;
$pages['end'] = $this->end;
$pages['pageoffset'] = $this->pageoffset;
$pages['showpage'] = $this->showpage;
return $pages;
}
//分頁代碼函數,返回一個數組,作用:分頁的頁碼數
public function getfycod(){
if($this->cpage > $this->pageoffset){
$this->start = $this->cpage - $this->pageoffset;
$this->end = $this->total_page > $this->cpage + $this->pageoffset ? $this->cpage + $this->pageoffset : $this->total_page;
}else{
$this->start = 1;
$this->end = $this->total_page > $this->showpage ? $this->showpage : $this->total_page;
}
if($this->cpage + $this->pageoffset > $this->total_page){
$this->start = $this->start - ($this->cpage + $this->pageoffset - $this->end);
}
for($i=$this->start;$i<=$this->end;$i++){
$this->fycod[] = $i;
}
return $this->fycod;
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。