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


Posted in PHP onOctober 21, 2009

一个好的分页算法, 应该具有下面的优点:

当前页码应该尽量在正中间.
如果"首页"和"尾页"不可用(当前处于第一页或最后一页), 不要隐藏这两组文字, 以免链接按钮位置变动.
算法简单.
下面的算法具有前面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 翻页 实例代码
Aug 07 PHP
php设计模式 Template (模板模式)
Jun 26 PHP
新手学习PHP的一些基础知识分享
Jul 27 PHP
php explode函数实例代码
Feb 27 PHP
PHP中函数rand和mt_rand的区别比较
Dec 26 PHP
php的ajax简单实例
Feb 27 PHP
php实现根据url自动生成缩略图的方法
Sep 23 PHP
PHP排序算法类实例
Jun 17 PHP
解析PHP的Yii框架中cookie和session功能的相关操作
Mar 17 PHP
PHP mysqli_free_result()与mysqli_fetch_array()函数详解
Sep 21 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
Mar 01 PHP
PHP仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(上)
May 26 PHP
php实现mysql同步的实现方法
Oct 21 #PHP
php 魔术方法使用说明
Oct 20 #PHP
关于Appserv无法打开localhost问题的解决方法
Oct 16 #PHP
php foreach、while性能比较
Oct 15 #PHP
php侧拉菜单 漂亮,可以向右或者向左展开,支持FF,IE
Oct 15 #PHP
php 数学运算验证码实现代码
Oct 11 #PHP
用mysql触发器自动更新memcache的实现代码
Oct 11 #PHP
You might like
php Undefined index和Undefined variable的解决方法
2008/03/27 PHP
关于PHP递归算法和应用方法介绍
2013/04/15 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
PHP中使用sleep造成mysql读取失败的案例和解决方法
2014/08/21 PHP
PHP实现从远程下载文件的方法
2015/03/12 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
PHP登录验证功能示例【用户名、密码、验证码、数据库、已登陆验证、自动登录和注销登录等】
2019/02/25 PHP
ThinkPHP3.1.2 使用cli命令行模式运行的方法
2020/04/14 PHP
javascript中scrollTop详解
2015/04/13 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
原生Javascript和jQuery做轮播图简单例子
2016/10/11 Javascript
JavaScript中浅讲ajax图文详解
2016/11/11 Javascript
从零学习node.js之详解异步控制工具async(八)
2017/02/27 Javascript
Vue 过渡实现轮播图效果
2017/03/27 Javascript
利用node.js实现反向代理的方法详解
2017/07/24 Javascript
javascript帧动画(实例讲解)
2017/09/02 Javascript
简单谈谈关于Angular Cli打包的事
2017/09/05 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
js时间戳转yyyy-MM-dd HH-mm-ss工具类详解
2019/04/30 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
[43:24]VG vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
pycharm 使用心得(四)显示行号
2014/06/05 Python
对python append 与浅拷贝的实例讲解
2018/05/04 Python
Python爬取个人微信朋友信息操作示例
2018/08/03 Python
django之状态保持-使用redis存储session的例子
2019/07/28 Python
Django多进程滚动日志问题解决方案
2019/12/17 Python
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
期终自我鉴定
2014/02/17 职场文书
原材料检验岗位职责
2014/03/15 职场文书
护士求职自荐信范文
2015/03/04 职场文书
电影小兵张嘎观后感
2015/06/03 职场文书
辩护意见书
2015/06/04 职场文书
长征观后感
2015/06/09 职场文书
整理Python中常用的conda命令操作
2021/06/15 Python
Java设计模式之代理模式
2022/04/22 Java/Android