一个好用的分页函数


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 全文搜索和替换的实现代码
Jul 29 PHP
PHP 读取和修改大文件的某行内容的代码
Oct 30 PHP
php不用内置函数对数组排序的两个算法代码
Feb 08 PHP
一些php技巧与注意事项分析
Feb 03 PHP
深入php-fpm的两种进程管理模式详解
Jun 03 PHP
基于php 随机数的深入理解
Jun 05 PHP
fetchAll()与mysql_fetch_array()的区别详解
Jun 05 PHP
深入PHP购物车模块功能分析(函数讲解,附源码)
Jun 25 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
May 09 PHP
Yii框架使用魔术方法实现跨文件调用功能示例
May 20 PHP
PHP基于方差和标准差计算学生成绩的稳定性示例
Jul 04 PHP
PHP实现数组根据某个单元字段排序操作示例
Aug 01 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
使用HMAC-SHA1签名方法详解
2013/06/26 PHP
PHP获取用户客户端真实IP的解决方案
2016/10/10 PHP
thinkPHP5框架自定义验证器实现方法分析
2018/06/11 PHP
laravel框架使用阿里云短信发送消息操作示例
2020/02/15 PHP
textContent在Firefox下与innerText等效的属性
2007/05/12 Javascript
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
jquery创建div 实现代码
2009/04/27 Javascript
javascript 冒号 使用说明
2009/06/06 Javascript
Js Jquery创建一个弹出层可加载一个页面
2014/05/08 Javascript
JavaScript 作用域链解析
2014/11/13 Javascript
jQuery实现DIV层淡入淡出拖动特效的方法
2015/02/13 Javascript
简介JavaScript中search()方法的使用
2015/06/06 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
微信小程序模拟cookie的实现
2018/06/20 Javascript
vue-loader中引入模板预处理器的实现
2019/09/04 Javascript
解决layui轮播图有数据不显示的情况
2019/09/16 Javascript
JQuery常用选择器功能与用法实例分析
2019/12/23 jQuery
在Vue中获取自定义属性方法:data-id的实例
2020/09/09 Javascript
Python Matplotlib库入门指南
2015/05/18 Python
python实现DES加密解密方法实例详解
2015/06/30 Python
python用opencv批量截取图像指定区域的方法
2019/01/24 Python
Python enumerate内置库用法解析
2020/02/24 Python
智利最大的网上商店:Linio智利
2016/11/24 全球购物
100%羊绒:NakedCashmere
2020/08/26 全球购物
医生实习工作总结的自我评价
2013/09/27 职场文书
元旦文艺汇演主持词
2014/03/26 职场文书
应届大专毕业生自我鉴定
2014/04/08 职场文书
本科毕业生自荐信
2014/05/26 职场文书
创先争优标语
2014/06/27 职场文书
国际贸易毕业生求职信
2014/07/20 职场文书
离婚财产处理协议书
2014/09/30 职场文书
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL