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

yipeiwu_com7年前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);

相关文章

PHP 魔术函数使用说明

1。__construct() 实例化对象时被调用, 当__construct和以类名为函数名的函数同时存在时,__construct将被调用,另一个不被调用。 2。__destruct...

php内核解析:PHP中的哈希表

PHP中使用最为频繁的数据类型非字符串和数组莫属,PHP比较容易上手也得益于非常灵活的数组类型。 在开始详细介绍这些数据类型之前有必要介绍一下哈希表(HashTable)。 哈希表是PH...

Thinkphp单字母函数使用指南

A方法 A方法用于在内部实例化控制器,调用格式:A(‘[项目://][分组/]模块','控制器层名称') 最简单的用法: 复制代码 代码如下: $User = A('User');...

PHP环形链表实现方法示例

本文实例讲述了PHP环形链表实现方法。分享给大家供大家参考,具体如下: 环形链表是一种链式存储结构,类似于单链表。区别是环形链表的尾节点指向头节点。 从而形成一个环, 环形链表是一种非常...

PHP动态生成指定大小随机图片的方法

本文实例讲述了PHP动态生成指定大小随机图片的方法。分享给大家供大家参考,具体如下: <?php $image_width = 100; $image_height =...