| 
 | 
 
 
sm.page.php分頁類- <?php 
 
 - class Page { 
 
 - public $count; #結果總數 
 
 - public $page; #當前頁 
 
 - public $pagesize; #每頁結果數 
 
 - public $pagecount; #翻頁數 
 
 - public $baseurl; #url 
 
 - public $result; #結果數組集 
 
 - public $pagelist; #每翻頁數 
 
  
- #構造函數,初始化變量 
 
 - function __construct( $count , $page , $pagesize , $pagelist , $baseurl = false ) { 
 
 - $this->count = $count; 
 
 - $this->page = $page; 
 
 - $this->pagesize = $pagesize; 
 
 - $this->baseurl = isset($baseurl) ? $baseurl : $this->__geturl(); 
 
 - $this->pagelist = $pagelist; 
 
 - } 
 
  
- #獲得當前url 
 
 - function __geturl() { 
 
 - return ereg_replace("(^|&)page={$page}","",$_SERVER['QUERY_STRING']); 
 
 - } 
 
  
- #獲得分頁列表 
 
 - function __getpagelist() { 
 
 - $this->result['count'] = $this->count; 
 
 - $this->result['page'] = $this->page; 
 
 - $this->result['pagesize'] = $this->pagesize; 
 
 - $this->result['pagecount'] = ceil($this->count/$this->pagesize); 
 
 - //只有一頁以下
 
 - if($this->result['pagecount']<=1) { 
 
 - $this->result['pagelist'] = 0; 
 
 - } else {
 
 - //一頁以上 
 
 - #前一頁,第一頁的算法 
 
 - $this->result['first'] = ($this->page == 1) ? 0 : 1; 
 
 - $this->result['pre'] = ($this->page == 1) ? 0 : 1; 
 
 - #後一頁,最後一頁的算法 
 
 - $this->result['next'] = ($this->page == $this->pagecount ) ? 0 : 1; 
 
 - $this->result['last'] = ($this->page == $this->pagecount ) ? 0 : 1; 
 
  
- #起始 
 
 - $pagearray = array(); 
 
 - $start = floor(($this->page-1)/$this->pagesize)*10+1; 
 
 - for($i=0;$i<$this->pagesize;$i++) { 
 
 - if( ($start+$i) <= $this->result['pagecount']) { 
 
 - $pagearray[$i]['page'] = $start+$i; 
 
 - } 
 
 - if( ($start+$i) != $this->page ) { 
 
 - $pagearray[$i]['link'] = 1; 
 
 - } 
 
 - } 
 
 - #分頁導航列表 
 
 - $this->result['pagelist'] = $pagearray; 
 
 - $this->result['baseurl'] = $this->baseurl; 
 
 - } 
 
 - } 
 
 - } 
 
 - ?>
 
  複製代碼 模版代碼 
 |   
 
 
 
 |