您好,登錄后才能下訂單哦!
分頁類
<?php //分頁類 class Page{ private $total; //總記錄數(shù) private $nums; //每頁顯示的條數(shù) private $pages; //總頁數(shù) private $cpage; //當(dāng)前頁 private $url; //當(dāng)前url public function __construct($total,$nums){ $this->total = $total; $this->nums = $nums; $this->pages = $this->getPages(); $this->url = $this->setUrl(); //獲取當(dāng)前頁 $this->cpage = !empty($_GET['page']) ? intval($_GET['page']):1; $this->cpage = $this->cpage>0 ?$this->cpage:1; $this->cpage = $this->cpage>$this->pages?$this->pages:$this->cpage; } private function setUrl(){ $url = $_SERVER['REQUEST_URI']; if(strstr($url, "?")){ $arr = parse_url($url); if(isset($arr['query'])){ parse_str($arr['query'],$output); } //刪除url中重復(fù)的page=n的字符串 unset($output['page']); $url = $arr['path']."?".http_build_query($output); }else{ $url .="?"; } return $url; } //獲取頁數(shù) private function getPages(){ return ceil($this->total/$this->nums);// 向上取整法 } //首頁 private function first(){ //如果當(dāng)前頁是第一頁 則不顯示這些 if($this->cpage>1){ $pre = $this->cpage-1; return '<a href="'.$this->url.'&page=1">首頁</a> <a href="'.$this->url.'&page='.$pre.'">上一頁</a>'; }else{ return ''; } } //列表 private function flist(){ $list = ""; $num = 4; //當(dāng)前頁之前的設(shè)置 for($i=$num;$i >=1;$i--){ $page = $this->cpage-$i; if($page >1){ $list .= ' <a href="'.$this->url.'&page='.$page.'">'.$page.'</a> '; } } //當(dāng)前頁的設(shè)置 if($this->pages>1){ $list .=' '.$this->cpage.' '; } //當(dāng)前頁之后的設(shè)置 for($i=1;$i <=$num;$i++){ $page = $this->cpage+$i; if($page <= $this->pages){ $list .= ' <a href="'.$this->url.'&page='.$page.'">'.$page.'</a> '; }else{ break; } } return $list; } //末頁 private function last(){ if($this->cpage < $this->pages){ $next = $this->cpage+1; return '<a href="'.$this->url.'&page='.$next.'">下一頁</a> <a href="'.$this->url.'&page='.$this->pages.'">末頁</a> '; }else{ return ''; } } //開始 從多少條記錄開始 private function start(){ return ($this->cpage-1)*$this->nums+1; } //結(jié)束 到多少條記錄結(jié)束 private function end(){ return min($this->cpage*$this->nums,$this->total); } //當(dāng)前顯示的條數(shù) private function currnum(){ return $this->end()-$this->start()+1; } //分頁方法 public function fpage(){ $arr = func_get_args(); $fpage =""; $pages[0]=" 共{$this->total}條記錄 "; $pages[1]=" 本頁顯示".$this->currnum()."條記錄 "; $pages[2]=" 從".$this->start()."-".$this->end()."條 "; $pages[3]=" {$this->cpage}/{$this->pages} "; $pages[4]=" ".$this->first()." "; $pages[5]=" ".$this->flist()." "; $pages[6]=" ".$this->last()." "; if(count($arr)<1) $arr = array(0,1,2,3,4,5,6); foreach($arr as $n){ $fpage .= $pages[$n]; } return $fpage; } }
調(diào)用分頁類
include 'print.php'; $page = new Page(1000,10); echo $page->fpage(6,4,5);
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。