一个好用的分页函数


Posted in PHP onNovember 16, 2006
本人原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊     /*---------------------------------------------------------------// 
  * 函数说明:分页函数 page($sql,$pagesize="30") 
  * $sql 查询语句(除limit外,可带排序或者条件限制)  
  * 如 select * from stu where time between "1" and "30"; 
  * $pagesize 每页的显示条数 
  * ## 可输出数组$arr的值,说明如下:  
  *    $arr["first"]    首页及地址 
  *    $arr["page_pre"] 上一页及地址 
  *    $arr["all"]      当第几页和总页数 
  *    $arr["page_next"]下一页及地址 
  *    $arr["last"]     末页及地址 
  *    $arr["pagelist"] 页码列表及地址,显示当前页前后4页列表 
  *    $arr["query"]    语句 $arr["query"] = mysql_query($sql) 
  *    $arr["nums"]     记录总数 
  *                                 2006.09.06 by Kevin QQ:84529890 
//----------------------------------------------------------------*/ 
function page($sql,$pagesize="30"){ 
global $arr,$PHP_SELF; 
$query = mysql_query($sql); 
$num = mysql_num_rows($query); 
$pagecount = ceil($num/$pagesize); 
$page = $_GET["page"]; 
if(!$page) $page=1; 
if($page>$pagecount) $page = $pagecount; 
$offset = ($page-1)*$pagesize; 
$sql.=" limit $offset , $pagesize"; 
$arr["query"] = mysql_query($sql); 
if($page>1){ 
     $page_pre = $page-1; 
  $page_url = $PHP_SELF . "?page=".$page_pre; 
  $arr["page_pre"] = "<a href=\"".$page_url."\">上一页|</a>\n"; 
} 
if($page<$pagecount){ 
     $page_next = $page+1; 
  $page_url = $PHP_SELF . "?page=".$page_next; 
  $arr["page_next"] = "|<a href=\"".$page_url."\">下一页</a>\n"; 
} 
$arr["all"] = "<font color=\"#FF0000\">".$page ."</font>/". $pagecount . "页\n"; 
$arr["first"] = "<a href=\"".$PHP_SELF."?page=1\">首页</a>\n|"; 
$arr["last"]  = "|<a href=\"".$PHP_SELF."?page=".$pagecount."\">末页</a>\n"; 
$plfront=""; 
if($page<=5 && $page>=1){ 
     for($i=1;$i<=9;$i++){ 
      $plfront.= " <a href=\"".$PHP_SELF."?page=$i\">".$i."</a>"; 
   } 
}elseif($page>5 && $page<$pagecount-5){ 
     for($i=$page-4;$i<$page+5;$i++){ 
      $plfront.= " <a href=\"".$PHP_SELF."?page=$i\">".$i."</a>"; 
   } 
}else{ 
     for($i=$pagecount-8;$i<=$pagecount;$i++){ 
      $plfront.= " <a href=\"".$PHP_SELF."?page=$i\">".$i."</a>"; 
  } 
} 
$arr["pagelist"] = $plfront." "; 
$arr["nums"] = $num; 
   }
PHP 相关文章推荐
php动态生成JavaScript代码
Mar 09 PHP
Windows Apache2.2.11及Php5.2.9-1的安装与配置方法
Jun 08 PHP
PHP MySQL应用中使用XOR运算加密算法分享
Aug 28 PHP
php 错误处理经验分享
Oct 11 PHP
探寻PHP脚本不报错的原因
Jun 12 PHP
10款PHP开源商城系统汇总介绍
Jul 23 PHP
PHP邮件群发机实现代码
Feb 16 PHP
yii2高级应用之自定义组件实现全局使用图片上传功能的方法
Oct 08 PHP
Yii2设置默认控制器的两种方法
May 19 PHP
PHP INT类型在内存中占字节详解
Jul 20 PHP
php写入txt乱码的解决方法
Sep 17 PHP
Yii2框架中一些折磨人的坑
Dec 15 PHP
第十五节--Zend引擎的发展
Nov 16 #PHP
第十四节--命名空间
Nov 16 #PHP
第十三节--对象串行化
Nov 16 #PHP
第十二节--类的自动加载
Nov 16 #PHP
第十一节--重载
Nov 16 #PHP
第十节--抽象方法和抽象类
Nov 16 #PHP
第九节--绑定
Nov 16 #PHP
You might like
php获取网页标题和内容函数(不包含html标签)
2014/02/03 PHP
CodeIgniter使用smtp服务发送html邮件的方法
2015/06/10 PHP
swoole锁的机制代码实例讲解
2021/03/04 PHP
获取当前网页document.url location.href区别总结
2008/05/10 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
jQuery事件之键盘事件(ctrl+Enter回车键提交表单等)
2014/05/11 Javascript
javascript背景时钟实现方法
2015/06/18 Javascript
jQuery数据检索中根据关键字快速定位GridView指定行的实现方法
2016/06/08 Javascript
javaScript事件机制兼容【详细整理】
2016/07/23 Javascript
jQuery fadeOut 异步实例代码详解
2016/08/18 Javascript
AngularJS入门教程之Helloworld示例
2016/12/25 Javascript
Javascript中for循环语句的几种写法总结对比
2017/01/23 Javascript
vue仿淘宝订单状态的tab切换效果
2020/06/23 Javascript
jquery根据name取得select选中的值实例(超简单)
2018/01/25 jQuery
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
npm scripts 使用指南详解
2018/10/08 Javascript
vue-property-decorator用法详解
2019/12/12 Javascript
JavaScript变量Dom对象的所有属性
2020/04/30 Javascript
详解JavaScript自定义函数
2020/07/29 Javascript
详解JavaScript中的this指向问题
2021/02/05 Javascript
[52:15]2014 DOTA2国际邀请赛中国区预选赛5.21 HGT VS LGD-GAMING
2014/05/23 DOTA
Python中的MongoDB基本操作:连接、查询实例
2015/02/13 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
python和php哪个容易学
2020/06/19 Python
Python中免验证跳转到内容页的实例代码
2020/10/23 Python
New Balance俄罗斯官方网上商店:购买运动鞋
2020/03/02 全球购物
优秀毕业生推荐信范文
2014/03/07 职场文书
领导干部群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
出纳工作检讨书范文
2014/12/27 职场文书
婚礼女方父母答谢词
2015/01/04 职场文书
监察建议书
2015/02/04 职场文书
2015年教师节活动总结
2015/03/20 职场文书
2016年秋季运动会通讯稿
2015/11/25 职场文书
公务员廉洁从政心得体会
2016/01/19 职场文书
2016廉洁从政心得体会
2016/01/19 职场文书
weblogic服务建立数据源连接测试更新mysql驱动包的问题及解决方法
2022/01/22 MySQL