当前位置:首页 > 新闻资讯

PHP分页类代码应该如何设置

发表日期:2015-06-03文章编辑:楚亿达工作室浏览次数:    

 今天为大家献上一段代码,这是一段php分页代码:Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  <?phpWtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //创建分页类Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  class Page {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private $_all_num; //数据总个数Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private $_page_size; //每页显示几条数据Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private $_page; //当前页面Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private $_all_page; //总页码Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private $_url; //页面地址Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private $_limit; //数据库查询语句Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private $_sign; //地址符号Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //拦截器Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  public function __get($_key) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  return $this->$_key;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  public function __construct($_all_num,$_page_size) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_all_num = $_all_num;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_page_size = $_page_size;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_all_page = ceil($this->_all_num / $this->_page_size);Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_page = $this->setPage();Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_url = $this->setUrl();Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_limit = 'LIMIT '.($this->_page * $this->_page_size - $this->_page_size).','.$this->_page_size;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //获取当前页码Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private function setPage() {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if (!empty($_GET['page']) && $_GET['page'] > 0) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if ($_GET['page'] <= $this->_all_page) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  return ceil($_GET['page']);Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  } else {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  return $this->_all_page;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  } else {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  return 1;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //获取地址Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  private function setUrl() {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_url = $_SERVER['REQUEST_URI'];Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if (!empty($_url)) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_par_url = parse_url($_url);Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if (isset($_par_url['query'])) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  parse_str($_par_url['query'],$_arr);Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if (isset($_arr['page'])) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  unset($_arr['page']);Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if (!empty($_arr)) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_http = http_build_query($_arr);Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_end_url = $_par_url['path'] . '?' . $_http;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_sign = '&';Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  } else {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_end_url = $_par_url['path'];Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_sign = '?';Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  } else {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_end_url = $_par_url['path'];Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $this->_sign = '?';Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  return $_end_url;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //显示分页Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  public function numPage() {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_num = '';Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //前面Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  for ($i=1; $i<$this->_page; $i++) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if ($i<1) continue;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_num .= "<a href='".$this->_url. $this->_sign ."page=".$i."'>".$i."</a>";Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //自己Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_num .= "<a class='me' href='".$this->_url. $this->_sign ."page=".$this->_page."'>".$this->_page."</a>";Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  //后面Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  for ($i=$this->_page+1; $i<=$this->_all_page; $i++) {Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  if ($i>$this->_all_page) continue;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_num .= "<a href='".$this->_url. $this->_sign ."page=".$i."'>".$i."</a>";Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  return $_num;Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  }Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  ?>Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  大家可以将上面一段代码复制到文本编辑器中这样看的会舒服一点!下面讲一下具体步骤:Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  1、创建一个分页类:class Page {};Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  2、获取需要显示数据的个数,并且记录在Page类中,这里数据的个数通过数据去获取就不详细说了!然后设置每页显示数据的条数!Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  3、获取当前页面地址!Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  这段代码大概意思就是当你的地址跟着?时,那么点击分页就用&page=;当你的地址后面没有后缀或者只有?page=,那么点击分页就用?page=Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  4、获取当前页码Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  这里的页码必须是整数,所以可以用ceil这个函数,还要注意用户的恶意修改地址!Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  4、做分页元素,这里只是做一个简单的数字分页,更复杂用户体验更好的,大家可以自行扩展!Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  5、设置数据库库的查询条数,也就是LIMIT;举个例子:比如我现在有10条数据,设置每页显示5条数据,那么Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  当用户点击第一页时,LIMIT 0,5Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  当用户点击第二页时,LIMIT 5,5Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  6、这段代码的调用:Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_page = new Page(10,5);Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  $_page->page();Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

  上面的10是总的数据个数,5是你想要每页显示数据的个数,$_page->page()就是页面的分页,直接echo出来就行啦,注意你还得将Page类中的$_limit调用出来放到数据库查询语句中,这样基本的php分页就出来啦!Wtt崇阳网站建设|崇阳网站设计|网站制作|网页设计—楚梦亿网络科技有限公司

崇阳网站建设,崇阳网站设计,崇阳网站制作,崇阳网页设计,崇阳网络公司
如没特殊注明,文章均为楚亿达工作室原创,转载请注明来自http://www.cydidc.com/news/cyd30.html