<?php
class PageClass{/*
  *20090824
  *我不是稻草人(QQ335759285)
  *版本:测试版
  *说明:URL有多个参数也能分页
  *///$url为当前url,一般为:$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]
//$cpage为当前页
//$tatolPage为总页数
private $url;
private $cpage;
private $totalPage;
function __construct($url,$cpage,$totalPage){
  $this->url=$url;
  $this->cpage=$cpage;
  $this->totalPage=$totalPage;
}
function PageClass($url,$cpage,$totalPage){
  $this->url=$url;
  $this->cpage=$cpage;
  $this->totalPage=$totalPage;
}
function showPage(){
  //显示分页
  $urlOption=array();//url的后缀如:?page=1&typeid=1
  $parse_url=parse_url($this->url);
  $urlMain='http://'.$parse_url['path'];
  if($parse_url['query']){
   //url有参数
   $urlArr=split('&',$parse_url['query']);
   foreach($urlArr as $key=>$value){
    $c=split('=',$value);
    if($c[0]==page){
    }else{
     array_push($urlOption,$c[0].'='.$c[1]);
    }
   }
  }else{
   //url没有参数
   //if($this->cpage<$this->totalPage){
   // array_push($urlOption,"page=2");
   //}
  }
  $urlOptionStr=implode('&',$urlOption);
  $showPage='';
  $showPage.='当前'.$this->cpage.'/'.$this->totalPage.'页';
  $showPage.='<a href="'.$urlMain.'?page=1'.'&'.$urlOptionStr.'">首页</a>';
  if($this->cpage!=1){
   $showPage.=' <a href="'.$urlMain.'?page='.($this->cpage-1).'&'.$urlOptionStr.'">上一页</a>';
  }
  for($i=1;$i<$this->totalPage+1;$i++){
   $showPage.=' <a href="'.$urlMain.'?page='.$i.'&'.$urlOptionStr.'">'.$i.'</a>';
   //$showPage.='<a href="a">df</a>';
  }
  if($this->cpage!=$this->totalPage && $this->totalPage>1){
   $showPage.=' <a href="'.$urlMain.'?page='.($this->cpage+1).'&'.$urlOptionStr.'">下一页</a>';
  }
  if($this->totalPage1=0){
    $showPage.=' <a href="'.$urlMain.'?page='.$this->totalPage.'&'.$urlOptionStr.'">末页</a>';
  }
  return $showPage;
}
}
?>
用法示例:$page=new PageClass('index.php',1,10);
$showpage=$page->showPage() 

解决方案 »

  1.   

    早就抛弃在php上分页了,都直接让JS去弄,
      

  2.   

    长内容分页我没弄,就是普通的分页, 其实代码和php几乎一样,用函数写的话
      

  3.   

    呵呵,我也是用js 来实现的。//重载分页函数.
    //分页处理
     //设置ajax分页效果.
    $("#pager a").click( function() {
        var href = $(this).attr("href");
    //内容页加载
    href = href.replace('/index/', '/index_list_data/');
    show_info('分页提示','分页数据加载中');
        $.get(href, function(data){
    hid();
    $("#list_data").html(data);
       } 
    ); 

    //分页栏架载
    href = href.replace('/index_list_data/', '/index_list_nav/');
        $.get(href, function(data){
    $("#list_nav").html(data);
       } 
    ); 
         return false;
    }); 至于服务器端: 一个取分页的数据内容,一个取分页栏。