一个好用的分页函数


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 相关文章推荐
PHP4实际应用经验篇(8)
Oct 09 PHP
PHP 5.0 Pear安装方法
Dec 06 PHP
检测png图片是否完整的php代码
Sep 06 PHP
PHP+JS+rsa数据加密传输实现代码
Mar 23 PHP
simplehtmldom Doc api帮助文档
Mar 26 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
改写函数实现PHP二维/三维数组转字符串
Sep 13 PHP
PHP SPL标准库之数据结构栈(SplStack)介绍
May 12 PHP
教你php如何实现验证码
Jan 20 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
php获得刚插入数据的id 的几种方法总结
May 31 PHP
深入研究PHP中的preg_replace和代码执行
Aug 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
杏林同学录(一)
2006/10/09 PHP
PHP中mb_convert_encoding与iconv函数的深入解析
2013/06/21 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
在Win7 中为php扩展配置Xcache
2014/10/08 PHP
thinkphp命名空间用法实例详解
2015/12/30 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
PHP实现将标点符号正则替换为空格的方法
2017/08/09 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
JS之小练习代码
2008/10/12 Javascript
setTimeout()与setInterval()方法区别介绍
2013/12/24 Javascript
弹出窗口并且此窗口带有半透明的遮罩层效果
2014/03/13 Javascript
Javascript实现div的toggle效果实例分析
2015/06/09 Javascript
JS检测页面中哪个HTML标签触发点击事件的方法
2016/06/17 Javascript
用jquery获取自定义的标签属性的值简单实例
2016/09/17 Javascript
值得分享的bootstrap table实例
2016/09/22 Javascript
javascript实现获取图片大小及图片等比缩放的方法
2016/11/24 Javascript
jquery操作ID带有变量的节点实例
2016/12/07 Javascript
js简单实现网页换肤功能
2017/04/07 Javascript
jQuery length 和 size()区别总结
2018/04/26 jQuery
Layer弹出层动态获取数据的方法
2018/08/20 Javascript
微信小程序如何获取地址
2019/12/24 Javascript
Vue.js仿Select下拉框效果
2020/02/18 Javascript
解决vue侦听器watch,调用this时出现undefined的问题
2020/10/30 Javascript
[02:28]DOTA2英雄基础教程 狼人
2013/12/23 DOTA
Python功能键的读取方法
2015/05/28 Python
Python实现比较扑克牌大小程序代码示例
2017/12/06 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
Python完成毫秒级抢淘宝大单功能
2019/06/06 Python
Python远程开发环境部署与调试过程图解
2019/12/09 Python
Django中文件上传和文件访问微项目的方法
2020/04/27 Python
薇诺娜官方网上商城:专注敏感肌肤
2017/05/25 全球购物
巴西备受欢迎的服装和生活方式品牌:FARM Rio
2020/02/04 全球购物
四年大学生活的自我评价范文
2014/02/07 职场文书
银行奉献演讲稿
2014/09/16 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
Java比较两个对象中全部属性值是否相等的方法
2021/08/07 Java/Android