html5中文学习网

您的位置: 首页 > 网络编程 > PHP编程 » 正文

3行代码的分页算法(求起始页和结束页)_PHP教程_编程技术

[ ] 已经帮助:人解决问题

 h4yHTML5中文学习网 - HTML5先行者学习网

  涉及到分页时, 除非只显示上一页/下一页, 否则需要计算起始页和结束页. 看过很多代码都是用大量的if-else来实现, 代码量大, 又不简洁. 现在提供一种只需要3行代码的算法.h4yHTML5中文学习网 - HTML5先行者学习网

  一个好的分页算法, 应该具有下面的优点:h4yHTML5中文学习网 - HTML5先行者学习网

  当前页码应该尽量在正中间.h4yHTML5中文学习网 - HTML5先行者学习网

  如果”首页”和”尾页”不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动.h4yHTML5中文学习网 - HTML5先行者学习网

  算法简单.h4yHTML5中文学习网 - HTML5先行者学习网

  下面的算法具有前面1和3两个优点.h4yHTML5中文学习网 - HTML5先行者学习网

  PHP:h4yHTML5中文学习网 - HTML5先行者学习网

  // $curr_index, 当前页码.h4yHTML5中文学习网 - HTML5先行者学习网

  // $link_count, 链接数量.h4yHTML5中文学习网 - HTML5先行者学习网

  // $page_count, 当前的数据的总页数.h4yHTML5中文学习网 - HTML5先行者学习网

  // $start, 显示时的起始页码.h4yHTML5中文学习网 - HTML5先行者学习网

  // $end, 显示时的终止页码.h4yHTML5中文学习网 - HTML5先行者学习网

  $start = max(1, $curr_index - intval($link_count/2));h4yHTML5中文学习网 - HTML5先行者学习网

  $end = min($start + $link_count - 1, $page_count);h4yHTML5中文学习网 - HTML5先行者学习网

  $start = max(1, $end - $link_count + 1);h4yHTML5中文学习网 - HTML5先行者学习网

  JavaScript:h4yHTML5中文学习网 - HTML5先行者学习网

  start = Math.max(1, curr_index - parseInt(link_count/2));h4yHTML5中文学习网 - HTML5先行者学习网

  end = Math.min(page_count, start + link_count - 1);h4yHTML5中文学习网 - HTML5先行者学习网

  start = Math.max(1, end - link_count + 1);h4yHTML5中文学习网 - HTML5先行者学习网

h4yHTML5中文学习网 - HTML5先行者学习网
h4yHTML5中文学习网 - HTML5先行者学习网
(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助