一个好用的分页函数


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 相关文章推荐
Discuz板块横排显示图片的实现方法
May 28 PHP
PHP获取类中常量,属性,及方法列表的方法
Apr 09 PHP
php 字符转义 注意事项
May 27 PHP
php读取纯真ip数据库使用示例
Jan 26 PHP
CI(CodeIgniter)框架配置
Jun 10 PHP
PHP实现多文件上传的方法
Jul 08 PHP
使用PHP如何实现高效安全的ftp服务器(一)
Dec 20 PHP
Yii使用Captcha验证码的方法
Dec 28 PHP
Linux平台php命令行程序处理管道数据的方法
Nov 10 PHP
php 运算符与表达式详细介绍
Nov 30 PHP
ThinkPHP中create()方法自动验证表单信息
Apr 28 PHP
PHP连接MySQL数据库并以json格式输出
May 21 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 5.5 新特性
2013/07/02 PHP
PHP5.3以上版本安装ZendOptimizer扩展
2015/03/27 PHP
javascript 强制刷新页面的实现代码
2009/12/13 Javascript
jQuery.Autocomplete实现自动完成功能(详解)
2010/07/13 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
基于jquery插件实现常见的幻灯片效果
2013/11/01 Javascript
javascript获取url上某个参数的方法
2013/11/08 Javascript
通过pjax实现无刷新翻页(兼容新版jquery)
2014/01/31 Javascript
JavaScript用Number方法实现string转int
2014/05/13 Javascript
在Linux上用forever实现Node.js项目自启动
2014/07/09 Javascript
JavaScript中函数(Function)的apply与call理解
2015/07/08 Javascript
js获取及判断键盘按键的方法
2015/12/01 Javascript
基于jquery实现瀑布流布局
2020/06/28 Javascript
提高Node.js性能的应用技巧分享
2017/08/10 Javascript
Vue 配合eiement动态路由,权限验证的方法
2018/09/26 Javascript
NodeJS使用Range请求实现下载功能的方法示例
2018/10/12 NodeJs
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
微信小程序实现单个或多个倒计时功能
2020/11/01 Javascript
在antd4.0中Form使用initialValue操作
2020/11/02 Javascript
[00:57]英雄,你的补给到了!
2020/11/13 DOTA
python的格式化输出(format,%)实例详解
2018/06/01 Python
Python 动态变量名定义与调用方法
2020/02/09 Python
django有外键关系的两张表如何相互查找
2020/02/10 Python
Pycharm如何运行.py文件的方法步骤
2020/03/03 Python
Python使用sqlite3模块内置数据库
2020/05/07 Python
Expedia泰国:预订机票、酒店和旅游包(航班+酒店)
2016/09/27 全球购物
Speedo速比涛中国官方网站:全球领先泳装运动品牌
2018/04/24 全球购物
泰国健康和美容服务预订网站:GoWabi
2019/06/03 全球购物
英国排名第一的餐具品牌:Denby Pottery
2019/11/01 全球购物
什么是方法的重载
2013/06/24 面试题
幼儿园教师岗位职责
2014/03/17 职场文书
2014离婚协议书范文
2014/09/10 职场文书
工作证明范本(2篇)
2014/09/14 职场文书
暂住证明怎么写
2015/06/19 职场文书
公司岗位说明书
2015/10/08 职场文书
Redis批量生成数据的实现
2022/06/05 Redis