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使用imagick扩展实现合并图像的方法

PHP使用imagick扩展实现合并图像的方法

本文实例讲述了PHP使用imagick扩展实现合并图像的方法。分享给大家供大家参考,具体如下: 女朋友做外贸的,最近需要做个产品册,要求是每张A4纸上有20个图片,我心想小case吧,哥...

php使用fopen创建utf8编码文件的方法

本文实例讲述了php使用fopen创建utf8编码文件的方法。分享给大家供大家参考。具体实现方法如下: 一般来说,如果我们直接使用fopen创建会发现文件编码都不是uft-8的了,那么如...

php堆排序实现原理与应用方法

本文实例讲述了php堆排序实现原理与应用方法。分享给大家供大家参考。具体分析如下: 这里以php作为描述语言较详细讲解堆排序原理,因保证程序可读性,故不做优化,php程序中关于堆的一些概...

php flv视频时间获取函数

复制代码 代码如下:<?php   function BigEndian2Int($byte_word, $signed = false) {   $int_value = 0;...

php输出图像的方法实例分析

php输出图像的方法实例分析

本文实例讲述了php输出图像的方法。分享给大家供大家参考,具体如下: PHP作为一种Web语言,无论是解析出的HTML代码还是二进制的图片,最终都要通过浏览器显示。应用GD2函数绘制图像...