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

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

WBOY
Release: 2016-06-23 14:21:51
Original
1120 people have browsed it

分页 php 数据

我在同一个页面有两个表格,都需要分页,我有一个分页类,两个表格都实例化了这个类,不过翻页之后就出问题了,没有数据了,为什么会这样了?
我是这样实例化的:
第一个表格的:
$my_page1=new PageClass($total1,20,$_GET['page'],'?account='.$_SESSION['account'].'&act=wyxx&page={page}');
Copy after login

第二个表格的:
$my_page2=new PageClass($total2,20,$_GET['page'],'?account='.$_SESSION['account'].'&act=blnr&page={page}');
Copy after login

分页类是这样子的:
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 "    <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();//显示*/
Copy after login

回复讨论(解决方案)

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

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

用AJAX分页

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

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

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template