老东西了,不少站点都有这个方法了(今天突然发现以前没用,所以就写了一下)
————
<?php
class page{
private $totalpage;
private $stride;
private $currentpage;
//设置总页数
function settotalpage($objpage=0){
$this->totalpage=$objpage;
}
//设置当前页
function setcurrentpage($objpage=1){
$this->currentpage=$objpage;
}
//设置跨度
function setstride($objstride=1){
$this->stride=$objstride;
}
//获得总页数
function gettotalpage(){
return $this->totalpage;
}
//获得跨读
function getstride($objstride=1){
return $this->stride;
}
//获取当前页
function getcurrentpage($objpage=1){
return $this->currentpage;
}
//打印分页
function pageprint(){
for($tmpa=0;$tmpa<$this->totalpage;$tmpa++){
if($tmpa+$this->stride<$this->currentpage){//加了跨度还小于当前页的不显示
continue;
}
if($tmpa+$this->stride==$this->currentpage){//刚好够跨度的页数
$p=$this->currentpage-$this->stride-1;
$willprint.="<a href=\"$_server[php_self]?page=1\"><strong><<</strong></a> <a href=\"$_server[php_self]?page=$p\"><strong><</strong></a> ";
}
if($tmpa>$this->currentpage+$this->stride){//大于当前页+跨度的页面
break;
}
$willprint.="<a href=\"$_server[php_self]?page=$tmpa\"><strong>$tmpa</strong></a> ";
if($tmpa==$this->currentpage+$this->stride){//刚好够跨度的页数
$p=$this->currentpage+$this->stride+1;
$willprint.="<a href=\"$_server[php_self]?page=$p\"><strong>></strong></a> <a href=\"$_server[php_self]?page=$this->totalpage\"><strong>>></strong></a>";
}
}
echo $willprint;
}
}
if(isset($_get[page])){
$page=$_get[page];
}else{
$page=1;
}
$cc=new page();
$cc->settotalpage(1000);
$cc->setcurrentpage($page);
$cc->setstride(5);
$cc->pageprint();
?>
