<?php
header("Content-Type:text/html;charset=utf-8");
class Page{
public $total;
public $pagesize;
public $totalpage;
public $curpage;
public $url;
function __construct($total,$pagesize){
$this->total= $total;
$this->pagesize= $pagesize;
$this->totalpage = $this->totalPage();
$this->curpage = $this->curPage();
$this->url = $this->getUrl();
}
function Pages(){
echo "共".$this->totalpage."页 当前第".$this->curpage."页 ".$this->first().$this->pageNum().$this->last();
}
function totalPage(){
$totalpage = ceil($this->total/$this->pagesize);
return $totalpage;
}
function curPage(){
$curpage = isset($_GET["page"])?$_GET["page"]:1;
if ($curpage<1){
$curpage = 1;
}elseif ($curpage>$this->totalpage && $this->totalpage!=0){
$curpage = $this->totalpage;
}
return $curpage;
}
function first(){
$prev = $this->curpage-1;
$link = "";
if($prev>0){
$link.="<a href='{$this->getUrl()}page=1'>首页 </a><a href='{$this->getUrl()}page=$prev'>上一页 </a>";
}
return $link;
}
function pageNum(){
$link = "";
$bothnum = 3;
for($i=$bothnum;$i>=1;$i--){
$page = $this->curpage -$i;
if($page>0){
$link.="<a href='{$this->getUrl()}page=$page'>$page</a> ";
}
}
$link.="<font color='red'>$this->curpage</font> ";
for($i=1;$i<=$bothnum;$i++){
$page = $this->curpage+$i;
if($page<=$this->totalpage){
$link.="<a href='{$this->getUrl()}page=$page'>$page</a> ";
}
}
return $link;
}
function last(){
$next = $this->curpage+1;
$link = "";
if($next<=$this->totalpage){
$link.= "<a href='{$this->getUrl()}page=$next'>下一页</a><a href='{$this->getUrl()}page=$this->totalpage'> 尾页</a>";
}
return $link;
}
function getUrl(){
$url = $_SERVER["REQUEST_URI"];
$parse_array = parse_url($url);
if(@ $parse_array["query"]){
parse_str($parse_array["query"],$url_array);
unset($url_array["page"]);
if(empty($url_array)){
return $parse_array["path"]."?";
}else{
return $parse_array["path"]."?".http_build_query($url_array)."&";
}
}else{
return $url."?";
}
}
}
$p=new Page(52,3);
$p->Pages();