当前位置:Gxlcms > PHP教程 > 同一个页面我有两个表格需要分页,我实例化同一个分页类的时候出问题了

同一个页面我有两个表格需要分页,我实例化同一个分页类的时候出问题了

时间:2021-07-01 10:21:17 帮助过:17人阅读

分页 php 数据

我在同一个页面有两个表格,都需要分页,我有一个分页类,两个表格都实例化了这个类,不过翻页之后就出问题了,没有数据了,为什么会这样了?
我是这样实例化的:
第一个表格的:
$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;         //页面urlprivate $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 "    
  • page_replace(1)."\" title=\"首页\" >首页
  • \n"; }else{ return "
  • 首页
  • \n"; }} private function myde_prev() //上一页{ if($this -> myde_page != 1){ return "
  • page_replace($this->myde_page-1) ."\" title=\"上一页\" >上一页
  • \n"; }else{ return "
  • 上一页
  • \n"; }} private function myde_next() //下一页{ if($this -> myde_page != $this -> myde_page_count){ return "
  • page_replace($this->myde_page+1) ."\" title=\"下一页\" >下一页
  • \n"; }else{ return "
  • 下一页
  • \n"; }} private function myde_last() //尾页{ if($this -> myde_page != $this -> myde_page_count){ return "
  • page_replace($this -> myde_page_count)."\" title=\"尾页\" >尾页
  • \n"; }else{ return "
  • 尾页
  • \n"; }} function myde_write($id='page') //
    输出{ $str = "\n
      \n "; $str .= "
    • 总记录:".$this -> myde_count."
    • \n"; $str .= "
    • ".$this -> myde_page."/".$this -> myde_page_count."
    • \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 .= "
    • ".$page_for_i."
    • \n"; } else{ $str .= "
    • page_replace($page_for_i)."\" title=\"第".$page_for_i."页\">"; $str .= $page_for_i . "
    • \n"; } } $str .= $this -> myde_next(); $str .= $this -> myde_last(); $str .= "
    • 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=\"输入您想要到达的页码,然后回车!\" />
    • \n"; $str .= "
    "; return $str;}}/*-------------------------实例--------------------------------*$page = new PageClass(1000,5,$_GET['page'],'?page={page}');//用于动态$page = new PageClass(1000,5,$_GET['page'],'list-{page}.html');//用于静态或者伪静态$page -> myde_write();//显示*/


    回复讨论(解决方案)

    可能是你获取的 $_GET['page'] 应该用两个了,
    $_GET['page1'],$_GET['page2']

    把参数传过去打印出来看下,问题不大..

    用AJAX分页

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

    把翻页需要传送的参数保存起来,实现分页的时候,实例化类,调用这个保存的参数不就可以的。

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

    人气教程排行