php下封装较好的数字分页方法


Posted in PHP onNovember 23, 2010
/** 
* 获取页码导航HTML 
* @param $pageNum:当前页码 
* @param $pageSize:每页数量 
* @param $rowCount:记录总数 
* @param $navUrl:链接页面URL 
*/ 
function getNavHtml($pageNum,$pageSize,$rowCount,$navUrl){ 
$pageCount = (int)($rowCount/$pageSize); //总页数 
if ($rowCount % $pageSize >0){ 
$pageCount++; 
} 
if ($pageNum>$pageCount){ 
$pageNum = 1; 
} 
$firstNav = "<a href=\"{$navUrl}page=1\">首页</a> "; 
$lastNav = "<a href=\"{$navUrl}page={$pageCount}\">尾页</a> "; 
$prevNav=""; 
$nextNav=""; 
if ($pageNum>1){ 
$navPageNum = $pageNum-1; 
$prevNav = "<a href=\"{$navUrl}page={$navPageNum}\">上一页</a> "; 
} 
if ($pageNum<$pageCount && $pageCount>1){ 
$navPageNum = $pageNum+1; 
$nextNav = "<a href=\"{$navUrl}page={$navPageNum}\">下一页</a> "; 
} 
$amongNav=""; //关键循环 
for ($i=1;$i<=5;$i++){ 
$navPageNum = $pageNum+ $i-3; 
if ($navPageNum>0 && $navPageNum<=$pageCount){ 
$navCss = $navPageNum == $pageNum?" class=\"hover\"":""; 
$amongNav.="<a href=\"{$navUrl}page={$navPageNum}\" $navCss>{$navPageNum}</a> "; 
} 
} 
return $firstNav.$prevNav.$amongNav.$nextNav.$lastNav." ".$pageNum."/".$pageCount." 共有[".$rowCount."]条数据"; 
} 
}
PHP 相关文章推荐
php中计算时间差的几种方法
Dec 31 PHP
php 使用post,get的一种简洁方式
Apr 25 PHP
深入解析fsockopen与pfsockopen的区别
Jul 05 PHP
CI框架中集成CKEditor编辑器的教程
Jun 09 PHP
ThinkPHP3.1的Widget新用法
Jun 19 PHP
destoon整合ucenter后注册页面不跳转的解决方法
Jun 21 PHP
php为字符串前后添加指定数量字符的方法
May 04 PHP
php实现的mongodb操作类
May 28 PHP
linux下php上传文件注意事项
Jun 11 PHP
PHP微信分享开发详解
Jan 14 PHP
PHP 使用二进制保存用户状态的实例
Jan 29 PHP
PHP调用接口用post方法传送json数据的实例
May 31 PHP
php下使用iconv需要注意的问题
Nov 20 #PHP
批量修改RAR文件注释的php代码
Nov 20 #PHP
为PHP初学者的8点有效建议
Nov 20 #PHP
PHP程序员最常犯的11个MySQL错误小结
Nov 20 #PHP
Windows 下的 PHP-PEAR 安装方法
Nov 20 #PHP
整理的9个实用的PHP库简介和下载
Nov 09 #PHP
Notice: Undefined index: page in E:\PHP\test.php on line 14
Nov 02 #PHP
You might like
php 服务器调试 Zend Debugger 的安装教程
2009/09/25 PHP
PHP Array交叉表实现代码
2010/08/05 PHP
php各种编码集详解和以及在什么情况下进行使用
2011/09/11 PHP
thinkPHP模板算术运算相关函数用法分析
2016/07/12 PHP
CakePHP框架Model关联对象用法分析
2017/08/04 PHP
JAVASCRIPT下判断IE与FF的比较简单的方式
2008/10/17 Javascript
JavaScript之appendChild、insertBefore和insertAfter使用说明
2010/12/30 Javascript
jQuery实现长文字部分显示代码
2013/05/13 Javascript
jquery scrollTop方法根据滚动像素显示隐藏顶部导航条
2013/05/27 Javascript
Bootstrap 源代码分析(未完待续)
2016/08/17 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
基于jquery实现弹幕效果
2016/09/29 Javascript
jQuery中map函数的两种方式
2017/04/07 jQuery
Vue组件通信之Bus的具体使用
2017/12/28 Javascript
layui实现三级联动效果
2019/07/26 Javascript
axios如何取消重复无用的请求详解
2019/12/15 Javascript
Python学习笔记(二)基础语法
2014/06/06 Python
Python实现获取操作系统版本信息方法
2015/04/08 Python
每天迁移MySQL历史数据到历史库Python脚本
2018/04/13 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
详解python中list的使用
2019/03/15 Python
python实现可逆简单的加密算法
2019/03/22 Python
浅谈django框架集成swagger以及自定义参数问题
2020/07/07 Python
PyTorch实现重写/改写Dataset并载入Dataloader
2020/07/14 Python
聊聊python中的循环遍历
2020/09/07 Python
Python pickle模块常用方法代码实例
2020/10/10 Python
非常震撼的纯CSS3人物行走动画
2016/02/24 HTML / CSS
用canvas做一个DVD待机动画的实现代码
2019/04/12 HTML / CSS
你的自行车健身专家:FaFit24
2016/11/16 全球购物
比利时家具购买网站:Home24
2019/01/03 全球购物
高中毕业生自我鉴定
2013/11/03 职场文书
小学开学典礼主持词
2014/03/19 职场文书
个人总结与自我评价
2014/09/18 职场文书
焦裕禄观后感
2015/06/03 职场文书
Java 数据结构七大排序使用分析
2022/04/02 Java/Android
解决vue-router的beforeRouteUpdate不能触发
2022/04/14 Vue.js