首页 > 代码库 > php分页类
php分页类
<?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=http://www.mamicode.com/‘".$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="http://www.mamicode.com/‘.$this->url.‘1">‘.$this->desc[‘first‘].‘</a>‘:‘‘; } //末页 public function last(){ return $this->self_page < $this->page_rows ? ‘<a href="http://www.mamicode.com/‘.$this->url.$this->page_rows.‘">‘.$this->desc[‘last‘].‘</a>‘:‘‘; } //上一页 public function prev(){ return $this->self_page > 1 ? ‘<a href="http://www.mamicode.com/‘.$this->url.($this->self_page-1).‘">‘.$this->desc[‘prev‘].‘</a>‘:‘‘; } //下一页 public function next(){ return $this->self_page < $this->total_page ? ‘<a href="http://www.mamicode.com/‘.$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; } } ?>
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。