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基于数组实现的分页函数实例

分页功能是PHP程序设计中非常常见的功能,不同于以往的,今天本文介绍的是PHP基于数组实现的分页函数。 关于数组的分页函数,用数组进行分页的好处是可以方便的进行联合多表查询,只需要将查询...

php批量转换文件夹下所有文件编码的函数类

函数代码: <?php /** * 把一个文件夹里的文件全部转码 只能转一次 否则全部变乱码 * @param string $filename */ funct...

php根据用户名和手机号查询是否存在手机号码

话不多说,请看代码: public function CheckMobileUser($data){ $sql='select phone,username from wlz...

PHP实现可精确验证身份证号码的工具类示例

PHP实现可精确验证身份证号码的工具类示例

本文实例讲述了PHP实现可精确验证身份证号码的工具类。分享给大家供大家参考,具体如下: <?php class check_IdCard { // $num为身份证号...

PHP数组相加操作及与array_merge的区别浅析

发现问题 今天看到一段代码,是这么写的,感觉不熟悉,下面粘贴出来看看: <?php $array_one = [ 内容 ]; $array_two = [ 内容 ];...