php 仿淘宝分页,PHP通用分页种page.php[仿google分页]

PHP通用分页类page.php[仿google分页]

countall = $countall;

$this->countlist = $countlist;

$this->style=$style;

if ($this->countall%$this->countlist!=0){

$this->page=sprintf("%d",$this->countall/$this->countlist)+1;

}else{

$this->page=$this->countall/$this->countlist;

}

$this->pg=$_GET["pg"];

//保证pg在未指定的情况下为从第1页开始

if (!ereg("^[1-9][0-9]*$",$this->pg) || empty($this->pg)){

$this->pg=1;

}

//页码超出最大范围,取最大值

if ($this->pg>$this->page){

$this->pg=$this->page;

}

//得到当前的URL。具体实现请看最底部的函数实体

$this->url = Pager::getUrl();

//替换错误格式的页码为正确页码

if(isset($_GET["pg"]) && $_GET["pg"]!=$this->pg){

$this->url=str_replace("?pg=".$_GET["pg"],"?pg=$this->pg",$this->url);

$this->url=str_replace("&pg=".$_GET["pg"],"&pg=$this->pg",$this->url);

}

//生成12345等数字形式的分页。

if ($this->page<=10){

for ($i=1;$ipage+1;$i++){

$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);

}

}else{

if ($this->pg<=5){

for ($i=1;$i<10;$i++){

$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);

}

}else{

if (6+$this->pg<=$this->page){

for ($i=$this->pg-4;$ipg+6;$i++){

$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);

}

}else{

for ($i=$this->pg-4;$ipage+1;$i++){

$this->thestr=$this->thestr.Pager::makepg($i,$this->pg);

}

}

}

}

//生成上页下页等文字链接

$this->backstr = Pager::gotoback($this->pg);

$this->nextstr = Pager::gotonext($this->pg,$this->page);

//echo (" 共".$this->countall." 条,每页".$this->countlist."条,共".$this->page."页".$this->backstr.$this->thestr.$this->nextstr);

}

//生成数字分页的辅助函数

function makepg($i,$pg){

if ($i==$pg){

return " ".$i."";

}else{

return " url,5,$i)." class='".$this->style."'>".$i."";

}

}

//生成上一页等信息的函数

function gotoback($pg){

if ($pg-1>0){

return $this->gotoback=" url,3,0)." class='".$this->style."'>首页 url,2,0)." class='".$this->style."'>上一页";

}else{

return $this->gotoback="首页 上一页 ";

}

}

//生成下一页等信息的函数

function gotonext($pg,$page){

if ($pg < $page){

return " url,1,0)." class='".$this->style."'>下一页 url,4,0)." class='".$this->style."'>尾页";

}else{

return " 下一页 尾页";

}

}

//处理url中$pg的方法,用于自动生成pg=x

function replacepg($url,$flag,$i){

if ($flag == 1){

$temp_pg = $this->pg;

return str_replace("pg=".$temp_pg,"pg=".($this->pg+1),$url);

}else if($flag == 2) {

$temp_pg = $this->pg;

return str_replace("pg=".$temp_pg,"pg=".($this->pg-1),$url);

}else if($flag == 3) {

$temp_pg = $this->pg;

return str_replace("pg=".$temp_pg,"pg=1",$url);

}else if($flag == 4){

$temp_pg = $this->pg;

return str_replace("pg=".$temp_pg,"pg=".$this->page,$url);

}else if($flag == 5){

$temp_pg = $this->pg;

return str_replace("pg=".$temp_pg,"pg=".$i,$url);

}else{

return $url;

}

}

//获得当前URL的方法

function getUrl(){

$url="http://".$_SERVER["HTTP_HOST"];

if(isset($_SERVER["REQUEST_URI"])){

$url.=$_SERVER["REQUEST_URI"];

}else{

$url.=$_SERVER["PHP_SELF"];

if(!empty($_SERVER["QUERY_STRING"])){

$url.="?".$_SERVER["QUERY_STRING"];

}

}

//在当前的URL里加入pg=x字样

if (!ereg("(pg=|PG=|pG=|Pg=)", $url)){

if (!strpos($url,"?")){

$url = $url."?pg=1";

}else{

$url = $url."&pg=1";

}

}

return $url;

}

}

?>

?

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉

本文系统来源:php中文网

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值