我在同一个页面有两个表格,都需要分页,我有一个分页类,两个表格都实例化了这个类,不过翻页之后就出问题了,没有数据了,为什么会这样了?
我是这样实例化的:
第一个表格的:$my_page1=new PageClass($total1,20,$_GET['page'],'?account='.$_SESSION['account'].'&act=wyxx&page={page}');
第二个表格的:$my_page2=new PageClass($total2,20,$_GET['page'],'?account='.$_SESSION['account'].'&act=blnr&page={page}');
分页类是这样子的:
class PageClass
{
private $myde_count;       //总记录数
public $myde_size;        //每页记录数
private $myde_page;        //当前页
private $myde_page_count; //总页数
private $page_url;         //页面url
private $page_i;           //起始页
private $page_ub;          //结束页
public $page_limit;function __construct($myde_count=0,$myde_size=1,$myde_page=1,$page_url)//构造函数
{   
   $this->myde_count=$this->numeric($myde_count);
   $this->myde_size=$this->numeric($myde_size);
   $this->myde_page=$this->numeric($myde_page);
   $this->page_limit=($this->myde_page * $this -> myde_size) - $this -> myde_size; //下一页的开始记录 
   $this->page_url=$page_url; //连接的地址  
   if($this->myde_page<1)$this->myde_page=1; //当前页小于1的时候,,值赋值为1 
   if($this->myde_count<0)$this->myde_page=0;  
   $this->myde_page_count=ceil($this->myde_count/$this->myde_size);//总页数  
   if($this->myde_page_count<1)
    $this->myde_page_count=1;  
   if($this->myde_page>$this->myde_page_count) 
     $this->myde_page=$this->myde_page_count;  
   //$this->page_i=$this->myde_page-2;
   $this->page_i=$this->myde_page-2;  
        $this->page_ub=$this->myde_page+2; 
        //$this->page_ub=$this->myde_page+2;  
        if($this->page_i<1)$this->page_i=1;        
        if($this->page_ub>$this->myde_page_count){$this->page_ub=$this->myde_page_count; }
}
      private function numeric($id) //判断是否为数字
    { if (strlen($id)){
       if (!ereg("^[0-9]+$",$id)) $id = 1;
    }else{
    $id = 1;
   }
   return $id;

private function page_replace($page) //地址替换
{return str_replace("{page}", $page, $this -> page_url);} 
private function myde_home() //首页
{ if($this -> myde_page != 1){  
    return "    <li class=\"page_a\"><a href=\"".$this -> page_replace(1)."\" title=\"首页\" >首页</a></li>\n";   
   }else{  
    return "    <li>首页</li>\n";   
   }

private function myde_prev() //上一页
{ if($this -> myde_page != 1){  
    return "    <li class=\"page_a\"><a href=\"".$this -> page_replace($this->myde_page-1) ."\" title=\"上一页\" >上一页</a></li>\n";
   }else{  
    return "    <li>上一页</li>\n";   
   }

private function myde_next() //下一页
{ if($this -> myde_page != $this -> myde_page_count){  
     return "    <li class=\"page_a\"><a href=\"".$this -> page_replace($this->myde_page+1) ."\" title=\"下一页\" >下一页</a></li>\n";
    
   }else{  
    return "    <li>下一页</li>\n";   
   }

private function myde_last() //尾页
{
   if($this -> myde_page != $this -> myde_page_count){  
     return "    <li class=\"page_a\"><a href=\"".$this -> page_replace($this -> myde_page_count)."\" title=\"尾页\" >尾页</a></li>\n";
    
   }else{  
    return "    <li>尾页</li>\n";   
   }

function myde_write($id='page') //输出
{
   $str = "<div id=\"".$id."\" class=\"pages\">\n <ul>\n ";  
   $str .= " <li>总记录:<span>".$this -> myde_count."</span></li>\n";  
   $str .= "    <li><span>".$this -> myde_page."</span>/<span>".$this -> myde_page_count."</span></li>\n";  
   $str .= $this -> myde_home();  
   $str .= $this -> myde_prev();
   for($page_for_i=$this->page_i;$page_for_i <= $this -> page_ub; $page_for_i++){  
    if($this -> myde_page == $page_for_i){   
            $str .= "    <li class=\"on\">".$page_for_i."</li>\n";    
    }   
    else{   
     $str .= "    <li class=\"page_a\"><a href=\"".$this -> page_replace($page_for_i)."\" title=\"第".$page_for_i."页\">";    
     $str .= $page_for_i . "</a></li>\n";    
    }
        }
   $str .= $this -> myde_next();  
   $str .= $this -> myde_last();  
   $str .= "    <li class=\"pages_input\"><input type=\"text\" value=\"".$this -> myde_page."\"";  
   $str .= "onmouseover=\"javascript:this.value='';this.focus();\" onkeydown=\"javascript: if(event.keyCode==13){ location='";  
   $str .= $this -> page_replace("'+this.value+'")."';return false;}\"";  
   $str .= " title=\"输入您想要到达的页码,然后回车!\" /></li>\n";  
   $str .= " </ul></div>";
   return $str;
}
}
/*-------------------------实例--------------------------------*
$page = new PageClass(1000,5,$_GET['page'],'?page={page}');//用于动态
$page = new PageClass(1000,5,$_GET['page'],'list-{page}.html');//用于静态或者伪静态
$page -> myde_write();//显示
*/分页php数据

解决方案 »

  1.   

    可能是你获取的 $_GET['page'] 应该用两个了,
    $_GET['page1'],$_GET['page2']把参数传过去打印出来看下,问题不大..
      

  2.   

    一般页面都很少见到2个分页的,要实现的话用ajax分页吧。
      

  3.   

    你两个分页的参数都是$_GET['page'],php怎么识别啊!php在后台做适当的判断再去使用分页类