您好,登錄后才能下訂單哦!
<?php //分頁類 class page{ private $total_rows; //總條數 private $onepage_rows;//一頁顯示數量 private $total_page; //總頁數 private $page_rows; //頁碼數量 private $start_id;//描述起始ID private $end_id;//描述結束ID private $desc = ''; //描述上一頁,下一頁 private $self_page; //當前頁 private $url; public function __construct($total,$onepage_rows=10,$page_rows=5,$desc=''){ $this->total_rows = $total; $this->onepage_rows = $onepage_rows; $this->page_rows = $page_rows; $this->total_page = ceil($this->total_rows / $this->onepage_rows); $this->self_page = min(max((int)@$_GET['page'],1),$this->total_page); $this->start_id= ($this->self_page-1)*$this->onepage_rows+1; $this->end_id= min($this->self_page*$this->onepage_rows , $this->total_rows); $this->desc = $this->desc($desc); //上一頁 下一頁 共X條記錄等信息 $this->url = $this->requestUrl(); //URL生成 } private function requestUrl(){ $url =isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : $_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING'] ; $parse_url = parse_url($url); if(isset($parse_url['query'])){ parse_str($parse_url['query'],$arr); unset($arr['page']); $url = $parse_url['path'] .'?'.http_build_query($arr).'&page='; }else{ $url = strstr($url,'?') ? $url.'page=' :$url. '?page='; } return $url; } //指定列表頁碼 public function pagelist(){ $start=max(1,min($this->self_page-ceil($this->page_rows/2),$this->total_page-$this->page_rows)); $end=$start + $this->page_rows; $arr = array(); for($i=$start; $i<=$end; $i++){ if($i == $this->self_page){ $arr[$i]['url'] = ''; $arr[$i]['str'] = $i; continue; } $arr[$i]['url'] = $this->url.$i; $arr[$i]['str'] = $i; } return $arr; } //返回代碼列表的字符串表示 public function pageshow(){ $pagelist = $this->pagelist(); $pagestr = ''; foreach($pagelist as $v){ if(empty($v['url'])){ $pagestr .= '<strong>'.$v['str'].'</strong>'; continue; } $pagestr .= "<a href='".$v['url']."'>".$v['str']."</a>"; } return $pagestr; } public function desc($desc){ $d = array('prev' => '上一頁','next' => '下一頁','first'=> '首頁','last' => '末頁'); if(empty($desc) || !is_array($desc)){ return $d;} function filter($v){ return !empty($v); } return array_merge($d,array_filter($desc,'filter')); } //首頁 public function first(){ return $this->self_page > 1 ? '<a href="'.$this->url.'1">'.$this->desc['first'].'</a>':''; } //末頁 public function last(){ return $this->self_page < $this->page_rows ? '<a href="'.$this->url.$this->page_rows.'">'.$this->desc['last'].'</a>':''; } //上一頁 public function prev(){ return $this->self_page > 1 ? '<a href="'.$this->url.($this->self_page-1).'">'.$this->desc['prev'].'</a>':''; } //下一頁 public function next(){ return $this->self_page < $this->total_page ? '<a href="'.$this->url.($this->self_page+1).'">'.$this->desc['next'].'</a>':''; } //返回當前第X-X條 public function nowpage(){ return '當前第'.$this->self_page.'頁 第'.$this->start_id.'——'.$this->end_id.'條'; } public function limit(){ return 'limit '.max(0,($this->self_page-1)*$this->onepage_rows).','.$this->onepage_rows; } } ?>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。