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新手上路(二)
Oct 09 PHP
服务器端解压缩zip的脚本
Dec 22 PHP
帖几个PHP的无限分类实现想法~
Jan 02 PHP
php数组函数序列之sort() 对数组的元素值进行升序排序
Nov 02 PHP
spl_autoload_register与autoload的区别详解
Jun 03 PHP
深入php self与$this的详解
Jun 08 PHP
php自定义函数截取汉字长度
May 15 PHP
Smarty模板学习笔记之Smarty简介
May 20 PHP
PHP把MSSQL数据导入到MYSQL的方法
Dec 27 PHP
yii2中结合gridview如何使用modal弹窗实例代码详解
Jun 12 PHP
php一个文件搞定微信jssdk配置
Dec 12 PHP
PHP删除数组中指定下标的元素方法
Feb 03 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自定义函数收代码
2010/08/01 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
PHP图片自动裁切应付不同尺寸的显示
2014/10/16 PHP
PHP中基本HTTP认证技巧分析
2015/03/16 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
laravel中的错误与日志用法详解
2016/07/26 PHP
PHP打印输出函数汇总
2016/08/28 PHP
php实现算术验证码功能
2018/12/05 PHP
php数值计算num类简单操作示例
2020/05/15 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
鼠标图片振动代码
2006/07/06 Javascript
ExtJS 刷新后如何默认选中刷新前最后一次选中的节点
2014/04/03 Javascript
使用命令对象代替switch语句的写法示例
2015/02/28 Javascript
使用jquery清空、复位整个输入域
2015/04/02 Javascript
JavaScript实现网站访问次数统计代码
2015/08/12 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
AngularJS向后端ASP.NET API控制器上传文件
2016/02/03 Javascript
AngularJS基础 ng-switch 指令简单示例
2016/08/03 Javascript
Javascript面试经典套路reduce函数查重
2017/03/23 Javascript
React-router 4 按需加载的实现方式及原理详解
2017/05/25 Javascript
vue中用H5实现文件上传的方法实例代码
2017/05/27 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
详解vue-cli@2.x项目迁移日志
2019/06/06 Javascript
vue中如何实现后台管理系统的权限控制的方法步骤
2019/09/05 Javascript
ant design 日期格式化的实现
2020/10/27 Javascript
vant时间控件使用方法详解
2020/12/24 Javascript
[56:21]LGD vs IG 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
TensorFlow 模型载入方法汇总(小结)
2018/06/19 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
Uber Eats台湾:寻找附近提供送餐服务的餐厅
2018/05/07 全球购物
什么是动态端口(Dynamic Ports)?动态端口的范围是多少?
2014/12/12 面试题
若通过ObjectOutputStream向一个文件中多次以追加方式写入object,为什么用ObjectInputStream读取这些object时会产生StreamCorruptedException?
2016/10/17 面试题
2014市府办领导班子“四风问题”对照检查材料思想汇报
2014/09/24 职场文书
爱心捐助活动总结
2015/05/09 职场文书
个人借条范本
2015/05/25 职场文书
vue自定义右键菜单之全局实现
2022/04/09 Vue.js