现在的位置: 首页 > 综合 > 正文

显示页码

2013年03月13日 ⁄ 综合 ⁄ 共 4728字 ⁄ 字号 评论关闭

  function showPage($sumResults,$resultPerPage,$page,$url,$parameterKeyValue,$pageParameterKey,$loadDivName)
 {
  $sumPages=0;//总共的页数
  $displayPageSum=7;//页码显示几位,出现省略号  此处的设置最好位奇数。否则会出现页码多少不一致的情况。
  $str="";
  $displayPageFirstNumber=1;//页面显示从数字几开始显示
  $displayPageEndNumber=1;//页码显示到几截止

  //判断$pageParameterKey是否为空,否则设计get地址参数名为page
  if(empty($pageParameterKey))
  {
   $pageParameterKey="page";
  }
  //设置url形式,分两种情况,一种只有page参数,和多个参数
  if(empty($parameterKeyValue))
  {
   $url .="?".$pageParameterKey."=";     //表示形式为:a.php&page=
  }
  else
  {
   $url .="?".$parameterKeyValue."&".$pageParameterKey."=";//表示形式为: a.php&test=test&test1=test1&page=
  }
  //以防$page为空,出错。
  if(empty($page))
  {
   $page=1;
  }
  //计算总共的页数
  if(fmod($sumResults,$resultPerPage)==0)
  {
   $sumPages=intval($sumResults / $resultPerPage);
  }
  else
  {
   $sumPages=intval($sumResults / $resultPerPage)+1;
  }

  //设置页码显示时,当前的页码在显示的所有页码的中间位置
  if($page-intval($displayPageSum/2) > 0)
  {
   $displayPageFirstNumber=$page-intval($displayPageSum/2);
  }
  else
  {
   $displayPageFirstNumber=1;
  }

  if($page+intval($displayPageSum/2) > $sumPages)
  {
   $displayPageEndNumber=$sumPages;
  }
  else
  {
   $displayPageEndNumber=$page+intval($displayPageSum/2);
  }

  //特殊情况处理,就是开头,和结尾的特殊情况处理
  if ($page <= intval($displayPageSum/2))
  {
   $displayPageEndNumber=$sumPages<$displayPageSum?$sumPages:$displayPageSum;
  }
  if (intval($displayPageSum/2)+$page > $sumPages)
  {
   $displayPageFirstNumber=$sumPages<$displayPageSum?1:$sumPages-$displayPageSum+1;
  }
  //显示部分处理
  $str .="<span>";
  $str .="<a href='#' onclick=ajax_divLoadURL('".$loadDivName."','".$url."1')>首页</a>";
  for($i=$displayPageFirstNumber;$i<=$displayPageEndNumber;$i++)
  {
   $str .="<a href='#' onclick=ajax_divLoadURL('".$loadDivName."','".$url.$i."')>";
   if($i==$page)
   {
    $str .="<font color='red'>【".$i."】</font>";
   }
   else
   {
    $str .="【".$i."】";
   }
   $str .="</a>";
  }
//  if($displayPageEndNumber<$sumPages)
//  {
//   $str .="...";
//  }
  if($page > 1 && $page <= $sumPages)
  {
   $str .="<a href='#' onclick=ajax_divLoadURL('".$loadDivName."','".$url.($page-1)."')>上一页</a>";
  }
  if($page >= 1 && $page < $sumPages)
  {
   $str .="<a href='#' onclick=ajax_divLoadURL('".$loadDivName."','".$url.($page+1)."')>下一页</a>";
  }

  $str .="<a href='#' onclick=ajax_divLoadURL('".$loadDivName."','".$url.$sumPages."')>末页</a>";
  $str .="</span>";

  return $str;

 }

 

 

 //$onClickFunctionName  表示单击页码要调用的函数。其余的可以参考上面的函数,只支持不带参数的函数
 function showPage2($sumResults,$resultPerPage,$page,$onClickFunctionName)
 {
  $sumPages=0;//总共的页数
  $displayPageSum=5;//页码显示几位,出现省略号  此处的设置最好位奇数。否则会出现页码多少不一致的情况。
  $str="";
  $displayPageFirstNumber=1;//页面显示从数字几开始显示
  $displayPageEndNumber=1;//页码显示到几截止

  //以防$page为空,出错。
  if(empty($page))
  {
   $page=1;
  }
  //计算总共的页数
  if(fmod($sumResults,$resultPerPage)==0)
  {
   $sumPages=intval($sumResults / $resultPerPage);
  }
  else
  {
   $sumPages=intval($sumResults / $resultPerPage)+1;
  }

  //设置页码显示时,当前的页码在显示的所有页码的中间位置
  if($page-intval($displayPageSum/2) > 0)
  {
   $displayPageFirstNumber=$page-intval($displayPageSum/2);
  }
  else
  {
   $displayPageFirstNumber=1;
  }

  if($page+intval($displayPageSum/2) > $sumPages)
  {
   $displayPageEndNumber=$sumPages;
  }
  else
  {
   $displayPageEndNumber=$page+intval($displayPageSum/2);
  }

  //特殊情况处理,就是开头,和结尾的特殊情况处理
  if ($page <= intval($displayPageSum/2))
  {
   $displayPageEndNumber=$sumPages<$displayPageSum?$sumPages:$displayPageSum;
  }
  if (intval($displayPageSum/2)+$page > $sumPages)
  {
   $displayPageFirstNumber=$sumPages<$displayPageSum?1:$sumPages-$displayPageSum+1;
  }
  //显示部分处理
  $str .='<span id="currentPage" style="display:none;">'.$page.'</span>';
  $str .='<span>';
  $str .="<a href='#' onclick=".$onClickFunctionName."(1)>【First】</a>";
  for($i=$displayPageFirstNumber;$i<=$displayPageEndNumber;$i++)
  {
   $str .="<a href='#' onclick=".$onClickFunctionName."(".$i.")>";
   if($i==$page)
   {
    $str .="<font color='red'>【".$i."】</font>";
   }
   else
   {
    $str .="【".$i."】";
   }
   $str .="</a>";
  }
//  if($displayPageEndNumber<$sumPages)
//  {
//   $str .="...";
//  }

//  $str .='<select onChange="'.$onClickFunctionName.'(this.options[this.selectedIndex].value)" style=z-index:0;">';
//        for($i=1;$i<=$sumPages;$i++)
//        {
//         if($i==$page)
//         {
//          $str .="<option value=".$i." selected>".$i."</option>";
//         }
//         else
//         {
//          $str .="<option value=".$i.">".$i."</option>";
//         }
//
//        }
//        $str .="</select>";

        //$str .='<span onclick="alert();">选择页码</span>';

  if($page > 1 && $page <= $sumPages)
  {
   $str .="<a href='#' onclick=".$onClickFunctionName."(".($page-1).")>【Previous】</a>";
  }
  if($page >= 1 && $page < $sumPages)
  {
   $str .="<a href='#' onclick=".$onClickFunctionName."(".($page+1).")>【Next】</a>";
  }

  $str .="<a href='#' onclick=".$onClickFunctionName."(".$sumPages.")>【End】</a>";
  $str .="</span>";

  return $str;

 }

 

抱歉!评论已关闭.