一个好用的分页函数


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上传图片类(随机名,缩略图,加水印)
Jun 30 PHP
php学习之 循环结构实现代码
Jun 09 PHP
如何使用PHP获取指定日期所在月的开始日期与结束日期
Aug 01 PHP
php生成静态html页面的方法(2种方法)
Sep 14 PHP
解决更换PHP5.4以上版本后Dedecms后台登录空白问题的方法
Oct 23 PHP
深入解析WordPress中加载模板的get_template_part函数
Jan 11 PHP
什么是OneThink oneThink后台添加插件步骤
Apr 13 PHP
PHP通过微信跳转的Code参数获取用户的openid(关键代码)
Jul 06 PHP
Yii2验证器(Validator)用法分析
Jul 23 PHP
PHP实现防盗链的方法分析
Jul 25 PHP
php实现socket推送技术的示例
Dec 20 PHP
PHP的图像处理实例小结【文字水印、图片水印、压缩图像等】
Dec 20 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
如何给phpadmin一个保护
2006/10/09 PHP
php通过修改header强制图片下载的方法
2015/03/24 PHP
php中memcache 基本操作实例
2015/05/17 PHP
php使用array_search函数实现数组查找的方法
2015/06/12 PHP
thinkphp跨库操作的简单代码实例
2016/09/22 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
php版阿里云OSS图片上传类详解
2016/12/01 PHP
超级24小时弹窗代码 24小时退出弹窗代码 100%弹窗代码(IE only)
2010/06/11 Javascript
jQuery对表单元素的取值和赋值操作代码
2011/05/19 Javascript
Array, Array Constructor, for in loop, typeof, instanceOf
2011/09/13 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
JavaScript中的ParseInt(&quot;08&quot;)和“09”返回0的原因分析及解决办法
2016/05/19 Javascript
简单易懂的天气插件(代码分享)
2017/02/04 Javascript
jacascript DOM节点——元素节点、属性节点、文本节点
2017/04/18 Javascript
为输入框加入数字js校验代码分享
2017/11/02 Javascript
微信小程序地图导航功能实现完整源代码附效果图(推荐)
2019/04/28 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
nodejs文件夹深层复制功能
2019/09/03 NodeJs
node解析修改nginx配置文件操作实例分析
2019/11/06 Javascript
vue+element-ui表格封装tag标签使用插槽
2020/06/18 Javascript
[32:39]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第一场 11.04
2020/11/04 DOTA
Python XML RPC服务器端和客户端实例
2014/11/22 Python
详解appium+python 启动一个app步骤
2017/12/20 Python
Python 中Pickle库的使用详解
2018/02/24 Python
python发送告警邮件脚本
2018/09/17 Python
python操作kafka实践的示例代码
2019/06/19 Python
Win10环境python3.7安装dlib模块趟过的坑
2019/08/01 Python
python+selenium 鼠标事件操作方法
2019/08/24 Python
OpenCV中VideoCapture类的使用详解
2020/02/14 Python
Python Numpy中数据的常用保存与读取方法
2020/04/01 Python
世界上最大的高分辨率在线图片库:Alamy
2018/07/07 全球购物
霸王洗发水广告词
2014/03/14 职场文书
董事长助理工作职责
2014/06/08 职场文书
2014年财务工作总结范文
2014/11/11 职场文书
如何使用Maxwell实时同步mysql数据
2021/04/08 MySQL