一个好用的PHP分页函数

yipeiwu_com5年前PHP代码库

网友原创的代码,高手看来,也许流程笨拙点,但是很实用.看者要顶啊 

     /*---------------------------------------------------------------// 
  * 函数说明:分页函数 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发送短信 Monxin专用(PHP代码函数) //本代码基于Monxin 运行 //代码来源:Monxin ./config/functions.p...

php根据某字段对多维数组进行排序的方法

本文实例讲述了php根据某字段对多维数组进行排序的方法。分享给大家供大家参考。具体分析如下: 根据某字段对多维数组进行排序,在看到array_multisort方法的作用时突然想到,可以...

解决安装WampServer时提示缺少msvcr110.dll文件的问题

解决安装WampServer时提示缺少msvcr110.dll文件的问题

今天开始学习PHP,对于初学者来说,我们一定希望从简单的开始,所以,从集成环境非常好的WampServer的安装开始. 1、下载WampServer安装程序,安装完毕后会出现一个错误.如...

php编程实现获取excel文档内容的代码实例

1、readexcel.system.php 复制代码 代码如下: <?php /* vim: set expandtab tabstop=4 shiftwidth=4 softt...

php 多关键字 高亮显示实现代码

php 多关键字 高亮显示实现代码

项目结构: 开始搜索:   这里搜索关键字("大""这") 搜索结果:  高亮显示 项目所需数据库结构: 实现代码: conn.php 复制代码 代码...