当前位置:首页PHP分页类代码应该如何设置 举报文章

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

作者:admin    来源:用户投稿    时间:2015.6.11   

  今天为大家献上一段代码,这是一段php分页代码:

  

  //创建分页类

  class Page {

  private $_all_num; //数据总个数

  private $_page_size; //每页显示几条数据

  private $_page; //当前页面

  private $_all_page; //总页码

  private $_url; //页面地址

  private $_limit; //数据库查询语句

  private $_sign; //地址符号

  //拦截器

  public function __get($_key) {

  return $this->$_key;

  }

  public function __construct($_all_num,$_page_size) {

  $this->_all_num = $_all_num;

  $this->_page_size = $_page_size;

  $this->_all_page = ceil($this->_all_num / $this->_page_size);

  $this->_page = $this->setPage();

  $this->_url = $this->setUrl();

  $this->_limit = 'LIMIT '.($this->_page * $this->_page_size - $this->_page_size).','.$this->_page_size;

  }

  //获取当前页码

  private function setPage() {

  if (!empty($_GET['page']) && $_GET['page'] > 0) {

  if ($_GET['page'] <= $this->_all_page) {

  return ceil($_GET['page']);

  } else {

  return $this->_all_page;

  }

  } else {

  return 1;

  }

  }

  //获取地址

  private function setUrl() {

  $_url = $_SERVER['REQUEST_URI'];

  if (!empty($_url)) {

  $_par_url = parse_url($_url);

  if (isset($_par_url['query'])) {

  parse_str($_par_url['query'],$_arr);

  if (isset($_arr['page'])) {

  unset($_arr['page']);

  }

  if (!empty($_arr)) {

  $_http = http_build_query($_arr);

  $_end_url = $_par_url['path'] . '?' . $_http;

  $this->_sign = '&';

  } else {

  $_end_url = $_par_url['path'];

  $this->_sign = '?';

  }

  } else {

  $_end_url = $_par_url['path'];

  $this->_sign = '?';

  }

  }

  return $_end_url;

  }

  //显示分页

  public function numPage() {

  $_num = '';

  //前面

  for ($i=1; $i<$this->_page; $i++) {

  if ($i<1) continue;

  $_num .= "".$i."";

  }

  //自己

  $_num .= "".$this->_page."";

  //后面

  for ($i=$this->_page+1; $i<=$this->_all_page; $i++) {

  if ($i>$this->_all_page) continue;

  $_num .= "".$i."";

  }

  return $_num;

  }

  }

  ?>

  大家可以将上面一段代码复制到文本编辑器中这样看的会舒服一点!下面讲一下具体步骤:

  1、创建一个分页类:class Page {};

  2、获取需要显示数据的个数,并且记录在Page类中,这里数据的个数通过数据去获取就不详细说了!然后设置每页显示数据的条数!

  3、获取当前页面地址!

  这段代码大概意思就是当你的地址跟着?时,那么点击分页就用&page=;当你的地址后面没有后缀或者只有?page=,那么点击分页就用?page=

  4、获取当前页码

  这里的页码必须是整数,所以可以用ceil这个函数,还要注意用户的恶意修改地址!

  4、做分页元素,这里只是做一个简单的数字分页,更复杂用户体验更好的,大家可以自行扩展!

  5、设置数据库库的查询条数,也就是LIMIT;举个例子:比如我现在有10条数据,设置每页显示5条数据,那么

  当用户点击第一页时,LIMIT 0,5

  当用户点击第二页时,LIMIT 5,5

  6、这段代码的调用:

  $_page = new Page(10,5);

  $_page->page();

  上面的10是总的数据个数,5是你想要每页显示数据的个数,$_page->page()就是页面的分页,直接echo出来就行啦,注意你还得将Page类中的$_limit调用出来放到数据库查询语句中,这样基本的php分页就出来啦!

  此文章属于王业楼的个人博客原创,若要转载请注明出处:王业楼的个人博客 www.ly89.cn

好文打赏,给Ta鼓励
扫一扫用手机阅读本文
Tags:分页  代码  应该  该如何  如何  设置  
  • 相关搜索
图片推荐
    ?事件营销,难道只能露胸或撕逼这样low?

    ?事件营销,难道只能露胸或撕逼这样low?

    事件营销中一个非常重要的因素就是流量为王。常用手法----'撕逼',比如神州撕Uber,如果不是明星'代言',也不会有那么多人在乎你是蜀黍还是蜀黎吧,毕竟名人都是自带流量。  前言  事件营销  一个
    淘宝客引流/微信引流的思路分析和技巧分享

    淘宝客引流/微信引流的思路分析和技巧分享

    大家好,我是前锋。抱歉,最近都比较忙,没有和大家交流机会。今天跟大家分享一个引流的技巧和关于淘宝客的干货。引流的方法和技术有很多种,只要抓住一个小模块,做精了就很牛!  我最擅长的是淘宝引流和微信淘宝
    阿里巴巴O2O“造节”梦做的早了些?

    阿里巴巴O2O“造节”梦做的早了些?

    去年,3.8生活节:声势浩大、剑指消费  去年,阿里巴巴邀请当红韩国明星李敏镐代言,疯狂宣传,随处可见3.8生活节的广告,其广告主要集中在餐厅就餐3.8折、KTV欢唱3.8元、电影票3.8元、与零售继
    未来实体超市将消失:电商冲击传统超市零售领域

    未来实体超市将消失:电商冲击传统超市零售领域

    春节将至,又到了采购年货的时间,这段时间市民的购买力比较强,当然最常去的地方就是各大超市了。比如:沃尔玛、大润发、世纪华联等大型超市,与其他实体零售行业一样。传统超市行业也受到了电商的冲击,当然主要就
    从首选投资人处获得700万美元A轮融资 我们只用了七步

    从首选投资人处获得700万美元A轮融资 我们只用了七步

    毫无疑问,融资难,难如上青天,相信每一个经历过的人都会对这句话深有体会。从某种程度上来说,这不全是一件坏事。融资的过程不仅会使创业者更加坚韧不拔,也能一盆冷水浇灭他们不切实际的想法,把他们拉回到现实中
    网易CEO丁磊谈幸福:钱连5%的作用都起不到

    网易CEO丁磊谈幸福:钱连5%的作用都起不到

    钱不是万能的,但没有钱是万万不能的。你觉得钱对于幸福能占多大的比重?  近日,网易CEO丁磊接受一条视频采访时,谈到了金钱和幸福的关系,身家1250亿的他表示,对自己来说,钱占的比例可能5%都不到。当
    《2015年中国网络版权保护年度报告》发布

    《2015年中国网络版权保护年度报告》发布

    [摘要]我国网络版权环境明显好转;与网络版权纠纷相关的互联网行业竞争规则在实践和司法审判中日渐明晰。  腾讯科技讯 2016年4月26日,中国信息通信研究院发布了《2015年中国网络版权保护年度报告》
    怎么促进百度蜘蛛加速新站收录

    怎么促进百度蜘蛛加速新站收录

    随着网络时代的降临,越来越多的个人站长争相加入SEO的行列,建站初期总会去网上搜集一些促进网站收录的话题,有人说做个外链好,自己也跟着做了, 有人说写个原创好,自己还是跟着做了,最根本的还是网站内容却
你是怎么知道非凡网赚网的?
  •   
  • 联系QQ 邮箱:976382653@qq.com 微信:976382653
    在线留言
    发布软文
    广告自助购
    文章调用
    常见问题
    保存到桌面