一个好用的分页函数


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 header Content-Type类型小结
Jul 03 PHP
解析PHP工厂模式的好处
Jun 18 PHP
关于PHP自动判断字符集并转码的详解
Jun 26 PHP
浅析HTTP消息头网页缓存控制以及header常用指令介绍
Jun 28 PHP
PHP延迟静态绑定示例分享
Jun 22 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
Nov 19 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
Dec 26 PHP
PHP、Python和Javascript的装饰器模式对比
Feb 03 PHP
PHP环境中Memcache的安装和使用
Nov 05 PHP
PHP编程基本语法快速入门手册
Jan 07 PHP
php解析xml 的四种简单方法(附实例)
Jul 11 PHP
php实现等比例压缩图片
Jul 26 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 网页游戏开发入门教程一(webgame+design)
2009/10/26 PHP
php获取当前页面完整URL地址
2015/12/30 PHP
PHP面向对象之事务脚本模式(详解)
2017/06/07 PHP
Laravel Intervention/image图片处理扩展包的安装、使用与可能遇到的坑详解
2017/11/14 PHP
php使用pthreads v3多线程实现抓取新浪新闻信息操作示例
2020/02/21 PHP
PHP常用字符串函数用法实例总结
2020/06/04 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
新手常遇到的一些jquery问题整理
2010/08/16 Javascript
JavaScript生成GUID的多种算法小结
2013/08/18 Javascript
仿百度输入框智能提示的js代码
2013/08/22 Javascript
javascript实现颜色渐变的方法
2013/10/30 Javascript
JavaScript中的ArrayBuffer详细介绍
2014/12/08 Javascript
JS实现倒计时(天数、时、分、秒)
2016/11/16 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
用node和express连接mysql实现登录注册的实现代码
2017/07/05 Javascript
使用jQuery动态设置单选框的选中效果
2018/12/06 jQuery
JavaScript中常用的简洁高级技巧总结
2019/03/10 Javascript
el-select 下拉框多选实现全选的实现
2019/08/02 Javascript
python获取外网ip地址的方法总结
2015/07/02 Python
python 简单的多线程链接实现代码
2016/08/28 Python
python使用SMTP发送qq或sina邮件
2017/10/21 Python
python进行TCP端口扫描的实现
2018/12/21 Python
画pytorch模型图,以及参数计算的方法
2019/08/17 Python
使用Python串口实时显示数据并绘图的例子
2019/12/26 Python
韩国三大免税店之一:THE GRAND 中文免税店
2016/07/21 全球购物
为中国消费者甄选天下优品:网易严选
2016/08/11 全球购物
机械工程师求职自我评价
2013/09/23 职场文书
幼儿园教师考核制度
2014/02/01 职场文书
签约仪式主持词
2014/03/19 职场文书
学校领导班子对照检查材料
2014/08/28 职场文书
民间个人借款协议书
2014/09/30 职场文书
2015年法制宣传月活动总结
2015/03/26 职场文书
PHP新手指南
2021/04/01 PHP
如何使用PyCharm及常用配置详解
2021/06/03 Python
详细聊聊vue中组件的props属性
2021/11/02 Vue.js
java objectUtils 使用可能会出现的问题
2022/02/28 Java/Android