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 相关文章推荐
纯真IP数据库的应用 IP地址转化成十进制
Jun 14 PHP
php设计模式 Prototype (原型模式)代码
Jun 26 PHP
使用Linux五年积累的一些经验技巧
Jun 20 PHP
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
Jun 25 PHP
md5 16位二进制与32位字符串相互转换示例
Dec 30 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
Jan 06 PHP
PHP中替换键名的简易方法示例详解
Jan 07 PHP
PHP中CURL的CURLOPT_POSTFIELDS参数使用细节
Mar 17 PHP
php基于表单密码验证与HTTP验证用法实例
Jan 06 PHP
php实现图片以base64显示的方法
Oct 13 PHP
YII框架批量插入数据的方法
Mar 18 PHP
PHP大文件分割上传 PHP分片上传
Aug 28 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
博士208HAF收音机实习报告
2021/03/02 无线电
php中常用字符串处理代码片段整理
2011/11/07 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
yii2.0整合阿里云oss上传单个文件的示例
2017/09/19 PHP
基于jQuery的前端数据通用验证库
2011/08/08 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
原生javascript实现无间缝滚动示例
2014/01/28 Javascript
简介AngularJS的视图功能应用
2015/06/17 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
详解JavaScript正则表达式之RegExp对象
2015/12/13 Javascript
js 创建对象 经典模式全面了解
2016/08/16 Javascript
js实现上传文件添加和删除文件选择框
2016/10/24 Javascript
AngularJS实现使用路由切换视图的方法
2017/01/24 Javascript
IE11下使用canvas.toDataURL报SecurityError错误的解决方法
2017/11/19 Javascript
浅谈webpack打包之后的文件过大的解决方法
2018/03/07 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
antd配置config-overrides.js文件的操作
2020/10/31 Javascript
Python学习教程之常用的内置函数大全
2017/07/14 Python
利用aardio给python编写图形界面
2017/08/21 Python
python3 线性回归验证方法
2019/07/09 Python
python实现图像检索的三种(直方图/OpenCV/哈希法)
2019/08/08 Python
python 3.6.7实现端口扫描器
2019/09/04 Python
Python 多线程,threading模块,创建子线程的两种方式示例
2019/09/29 Python
Django 实现外键去除自动添加的后缀‘_id’
2019/11/15 Python
在pytorch中实现只让指定变量向后传播梯度
2020/02/29 Python
python利用paramiko实现交换机巡检的示例
2020/09/22 Python
CSS3 box-sizing属性
2009/04/17 HTML / CSS
澳大利亚领先的女帽及配饰公司:Morgan&Taylor
2019/12/01 全球购物
应届毕业生个人自我评价
2013/09/20 职场文书
企业读书活动总结
2014/06/30 职场文书
英语专业求职信
2014/07/08 职场文书
三孔导游词
2015/02/05 职场文书
总经理致辞
2015/07/29 职场文书
青年教师听课心得体会
2016/01/15 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
vue组件vue-esign实现电子签名
2022/04/21 Vue.js