php分页类smary,php+smarty分页类

class ShowPage

{

var   $PageSize;

var   $Total;

var   $ifram;

var   $functionname;

//取得总页数

function PageCount()

{

$TotalPage = ($this->Total%$this->PageSize == 0)?floor($this->Total/$this->PageSize):floor($this->Total/$this->PageSize)+1;

return   $TotalPage;

}

//取得当前页

function   PageNum()

{

//if   (isset($_GET['page']))

$page = (isset($_GET['page'])!="")?$_GET['page']:$page = 1;

return $page;

}

//查询语句定位指针

function   OffSet()   {

if   ($this->PageNum()>$this->PageCount())   {

$this->PageNum = $this->PageCount();

$pagemin = max(0,$this->Total - $this->PageSize - 1);

}

elseif ($this->PageNum() == 1){

$pagemin = 0;

}

else   {

$pagemin = min($this->Total - 1,$this->PageSize * ($this->PageNum() - 1));

}

return $pagemin.",".$this->PageSize;

}

//定位首页

function   FristPage(){

$href = $this->ifram==1?"javascript:".$this->functionname."('?page=1".$this->Url()."')":"?page=1".$this->Url()."";

$Frist = ($this->PageNum() <= 1)?"

首页":" 首页";

return $Frist;

}

//定位上一页

function   PrePage()   {

$prepage=$this->PageNum() - 1;

$href = $this->ifram==1?"javascript:".$this->functionname."('?page=".$prepage.$this->Url()."')":"?page=".$prepage.$this->Url()."";

$Previous = ($this->PageNum() >= 2)?"

上一页":" 上一页";

return   $Previous;

}

//定位下一页

function   NextPage()   {

$nextpage = $this->PageNum() + 1;

$href = $this->ifram==1?"javascript:".$this->functionname."('?page=".$nextpage.$this->Url()."')":"?page=".$nextpage.$this->Url()."";

$Next = ($this->PageNum() <= $this->PageCount()-1)?"

下一页":" 下一页";

return   $Next;

}

//定位最后一页

function   LastPage()   {

$href = $this->ifram==1?"javascript:".$this->functionname."('?page=".$this->PageCount().$this->Url()."')":"?page=".$this->PageCount().$this->Url()."";

$Last = ($this->PageNum() >= $this->PageCount())? "

尾页":" 尾页";

return   $Last;

}

//下拉跳转页面

function   JumpPage()   {

$tomode=$this->ifram==1?$this->functionname."(this.options[this.selectedIndex].value)":"javascript:location=this.options[this.selectedIndex].value;";

$Jump = "

第 ";

for($i=1;$i<=$this->PageCount();$i++) {

if   ($i==$this->PageNum())

$Jump.= "Url()."\" selected>$i";

else

$Jump.="Url()."\">$i";

}

$Jump.="

页";

return   $Jump;

}

//URL参数处理

function  Url()   {

$fullurl = $_SERVER['PHP_SELF']."?".$_SERVER['QUERY_STRING'];

$url = end(explode('?',$fullurl));

$url = preg_match("/&page=[\s\S]*&/",$url)?preg_replace("/&page=[^&]*&/","&",$url):preg_replace("/[&]?page=[^&]*[&]?/","",$url);

return strpos($fullurl,'?')?"&".$url:"";

}

function  SumOver(){

$zhongshu =$this->PageCount()."页/".$this->Total."条";

return $zhongshu;

}

//记录总数

function  sum(){

$zhongshu = "

共".$this->PageCount()."页/".$this->Total."条信息 ";

return $zhongshu;

}

//生成导航条

function ShowLink(){

$i=0;

$href = $this->ifram==1?"javascript:".$this->functionname."('?page=".$i.$this->Url()."')":"?page=".$i.$this->Url()."";

if($this->PageCount()<9 || ($this->PageCount()>=9 && $this->PageNum()<5)){

$mm = $this->PageCount()+1;

$mmax = $this->PageCount()>=9?10:$mm;

for($i=1;$i

$href = $this->ifram==1?"javascript:".$this->functionname."('?page=".$i.$this->Url()."')":"?page=".$i.$this->Url()."";

$pagestr .= $i==$this->PageNum()?"

".$i."":" ".$i."";

}

}else{

$min = $this->PageNum()-4;

$min_t = $this->PageCount()-8;

$max = $this->PageNum()+5;

$max_t = $this->PageCount()+1;

$min = $max>$this->PageCount()?$min_t:$min;

$max = $max>$this->PageCount()?$max_t:$max;

for($i=$min;$i

$href = $this->ifram==1?"javascript:".$this->functionname."('?page=".$i.$this->Url()."')":"?page=".$i.$this->Url()."";

$pagestr .= $i==$this->PageNum()?"

".$i."":" ".$i."";

}

}

// if($this->Total > $this->PageSize){

$pages = "

".$this->sum().$this->FristPage().$this->PrePage().$pagestr.$this->NextPage().$this->LastPage().$this->JumpPage()."";

// }

return $pages;

}

}

?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值