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

yipeiwu_com6年前PHP代码库
一个好的分页算法, 应该具有下面的优点:

当前页码应该尽量在正中间.
如果"首页"和"尾页"不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动.
算法简单.
下面的算法具有前面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);

相关文章

ThinkPHP路由详解

有了基本配置,我们就可以来访问我们的应用默认首页了。进入到项目目录,可以直接使用PHP内置服务器来开始访问,比如: php -S localhost:8999 浏览器输入loc...

PHP设计模式之模板模式定义与用法详解

PHP设计模式之模板模式定义与用法详解

本文实例讲述了PHP设计模式之模板模式定义与用法。分享给大家供大家参考,具体如下: 模板模式准备一个抽象类,将部分逻辑以具体方法以及具体构造形式实现,然后声明一些抽象方法来迫使子类实现剩...

php数组函数序列之in_array() - 查找数组中是否存在指定值

in_array()定义和用法 in_array() 函数查找数组中是否存在指定值。 语法 in_array(value,array,type)参数 描述 value 必需。规定要在数组...

php出现Cannot modify header information问题的解决方法大全

这样的语句,很显然,造成这个原因是因为setcookie造成的,查了一下网上,有如下的解释:      cookie本身在使用...

phpMyadmin 用户权限中英对照

数据: SELECT:允许读取数据。 INSERT:允许插入和替换数据。 UPDATA:允许更改数据。 DELETE:允许删除数据。 FILE:允许从文件中导入数据以及将数据导出至文件。...