php 3行代码的分页算法(求起始页和结束页)

 更新时间:2009年10月21日 14:15:19   作者:  
涉及到分页时, 除非只显示上一页/下一页, 否则需要计算起始页和结束页. 看过很多代码都是用大量的if-else来实现, 代码量大, 又不简洁. 现在提供一种只需要3行代码的算法.
一个好的分页算法, 应该具有下面的优点:

当前页码应该尽量在正中间.
如果"首页"和"尾页"不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动.
算法简单.
下面的算法具有前面1和3两个优点.
复制代码 代码如下:

// $curr_index, 当前页码.
// $link_count, 链接数量.
// $page_count, 当前的数据的总页数.
// $start, 显示时的起始页码.
// $end, 显示时的终止页码.
$start = max(1, $curr_index - intval($link_count/2));
$end = min($start + $link_count - 1, $page_count);
$start = max(1, $end - $link_count + 1);
start = Math.max(1, curr_index - parseInt(link_count/2));
end = Math.min(page_count, start + link_count - 1);
start = Math.max(1, end - link_count + 1);

相关文章

  • PHP快速排序算法实现的原理及代码详解

    PHP快速排序算法实现的原理及代码详解

    在本篇文章里小编给大家整理了关于PHP快速排序算法实现的原理及代码相关知识点,需要的朋友们跟着学习下。
    2019-04-04
  • 深入解析PHP的Yii框架中的event事件机制

    深入解析PHP的Yii框架中的event事件机制

    这篇文章主要介绍了PHP的Yii框架中的event事件机制,文中讲解了Yii的事件处理器以及给组件对象绑定事件处理函数等重要知识,需要的朋友可以参考下
    2016-03-03
  • php文件上传简单实现方法

    php文件上传简单实现方法

    这篇文章主要介绍了php文件上传简单实现方法,以一个完整实例形式分析了文件上传的过程,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-01-01
  • 解析php做推送服务端实现ios消息推送

    解析php做推送服务端实现ios消息推送

    本篇文章是对php做推送服务端实现ios消息推送的方法进行了详细的分析介绍,需要的朋友参考下
    2013-07-07
  • PHP实现HTTP断点续传的方法

    PHP实现HTTP断点续传的方法

    这篇文章主要介绍了PHP实现HTTP断点续传的方法,实例分析了php基于http协议断点续传下载文件的实现方法,需要的朋友可以参考下
    2015-06-06
  • php如何获取文件的扩展名

    php如何获取文件的扩展名

    这篇文章主要介绍了php如何获取文件的扩展名,即文件后缀名的方法做一个总结,感兴趣的小伙伴们可以参考一下。
    2015-10-10
  • 聊聊 PHP 8 新特性 Attributes

    聊聊 PHP 8 新特性 Attributes

    这篇文章主要介绍了PHP 8 新特性 Attributes的相关资料,帮助大家更好的理解和学习php,感兴趣的朋友可以了解下
    2020-08-08
  • php回调函数处理数组操作示例

    php回调函数处理数组操作示例

    这篇文章主要介绍了php回调函数处理数组操作,结合实例形式详细分析了PHP回调函数遍历与过滤数组相关操作技巧与注意事项,需要的朋友可以参考下
    2020-04-04
  • PHP日期处理函数 整型日期格式

    PHP日期处理函数 整型日期格式

    我正打算用PHP编写一种帮助处理系统。我发现我必须知道处理完最后一位客户的问题后已经过去了多长时间?
    2011-01-01
  • PHP与javascript实现变量交互的示例代码

    PHP与javascript实现变量交互的示例代码

    以下是对PHP和javascript实现变量交互的一个实例进行了详细的介绍。需要的朋友可以过来参考下
    2013-07-07

最新评论