php分页类
<?php//分页类classpage{private$total_rows;//总条数private$onepage_rows;//一页显示数量private$total_page;//总页数private$page_rows;//页码数量private$start_id;//描述起始IDprivate$end_id;//描述结束IDprivate$desc='';//描述上一页,下一页private$self_page;//当前页private$url;publicfunction__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生成}privatefunctionrequestUrl(){$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;}//指定列表页码publicfunctionpagelist(){$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;}//返回代码列表的字符串表示publicfunctionpageshow(){$pagelist=$this->pagelist();$pagestr='';foreach($pagelistas$v){if(empty($v['url'])){$pagestr.='<strong>'.$v['str'].'</strong>';continue;}$pagestr.="<ahref='".$v['url']."'>".$v['str']."</a>";}return$pagestr;}publicfunctiondesc($desc){$d=array('prev'=>'上一页','next'=>'下一页','first'=>'首页','last'=>'末页');if(empty($desc)||!is_array($desc)){return$d;}functionfilter($v){return!empty($v);}returnarray_merge($d,array_filter($desc,'filter'));}//首页publicfunctionfirst(){return$this->self_page>1?'<ahref="'.$this->url.'1">'.$this->desc['first'].'</a>':'';}//末页publicfunctionlast(){return$this->self_page<$this->page_rows?'<ahref="'.$this->url.$this->page_rows.'">'.$this->desc['last'].'</a>':'';}//上一页publicfunctionprev(){return$this->self_page>1?'<ahref="'.$this->url.($this->self_page-1).'">'.$this->desc['prev'].'</a>':'';}//下一页publicfunctionnext(){return$this->self_page<$this->total_page?'<ahref="'.$this->url.($this->self_page+1).'">'.$this->desc['next'].'</a>':'';}//返回当前第X-X条publicfunctionnowpage(){return'当前第'.$this->self_page.'页第'.$this->start_id.'——'.$this->end_id.'条';}publicfunctionlimit(){return'limit'.max(0,($this->self_page-1)*$this->onepage_rows).','.$this->onepage_rows;}}?>
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。