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怎样调用MSSQL的存储过程
Oct 09 PHP
PHP通过COM使用ADODB的简单例子
Dec 31 PHP
PHP中simplexml_load_string函数使用说明
Jan 01 PHP
php 深入理解strtotime函数的使用详解
May 23 PHP
php获取根域名方法汇总
Oct 28 PHP
PHP操作文件的一些基本函数使用示例
Nov 18 PHP
php使用substr()和strpos()联合查找字符串中某一特定字符的方法
May 12 PHP
php判断表是否存在的方法
Jun 18 PHP
php获取错误信息的方法
Jul 17 PHP
php微信开发之上传临时素材
Jun 24 PHP
实例讲解PHP验证邮箱是否合格
Jan 28 PHP
PHP+redis实现的购物车单例类示例
Feb 02 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的Reflection反射机制
2014/08/05 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
php无限分类使用concat如何实现
2015/11/05 PHP
浅谈laravel框架与thinkPHP框架的区别
2019/10/23 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
js jquery做的图片连续滚动代码
2008/01/06 Javascript
jquery插件制作 提示框插件实现代码
2012/08/17 Javascript
用Jquery实现滚动新闻
2014/02/12 Javascript
js验证IP及子网掩码的合法性有效性示例
2014/04/30 Javascript
Javascript中设置默认参数值示例
2014/09/11 Javascript
js实现div弹出层的方法
2014/11/20 Javascript
js表单元素checked、radio被选中的几种方法(详解)
2016/08/22 Javascript
javascript跨域请求包装函数与用法示例
2016/11/03 Javascript
JS刷新父窗口的几种方式小结(推荐)
2016/11/09 Javascript
JavaScript利用正则表达式替换字符串中的内容
2016/12/12 Javascript
jQuery分页插件jquery.pagination.js使用方法解析
2017/02/09 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
详解Angular 4.x NgTemplateOutlet
2017/05/24 Javascript
Angular2管道Pipe及自定义管道格式数据用法实例分析
2017/11/29 Javascript
轻松搞定jQuery+JSONP跨域请求的解决方案
2018/03/06 jQuery
js实现简单掷骰子效果
2019/10/24 Javascript
[15:07]lgd_OG_m2_BP
2019/09/10 DOTA
Python中遇到的小问题及解决方法汇总
2017/01/11 Python
利用python3随机生成中文字符的实现方法
2017/11/24 Python
详解多线程Django程序耗尽数据库连接的问题
2018/10/08 Python
pycharm执行python时,填写参数的方法
2018/10/29 Python
Pycharm取消py脚本中SQL识别的方法
2018/11/29 Python
python requests更换代理适用于IP频率限制的方法
2019/08/21 Python
Pandas读取csv时如何设置列名
2020/06/02 Python
秘鲁购物网站:Linio秘鲁
2017/04/07 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
应届大学生求职信
2013/12/01 职场文书
公司股权转让协议书
2014/04/12 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
浅谈由position属性引申的css进阶讨论
2021/05/25 HTML / CSS