+ -
当前位置:首页 → 问答吧 → 一个通用分页函数。。

一个通用分页函数。。

时间:2008-11-27

来源:互联网

[php]
#*********************************************************
#经典分页导航分页函数
[email=#@param]#@param[/email] url 跳转URL
[email=#@param]#@param[/email] num 总记录数
[email=#@param]#@param[/email] totalPages 总页数
[email=#@param]#@param[/email] currentPage 当前页码
[email=#@param]#@param[/email] maxPerPage 每页显示数
#*********************************************************
function cut_page($url,$num,$totalPages,$currentPage,$maxPerPage)
{
$url .= strpos($url, '?') ? '&' : '?'; //为URL加上?号或&号。
$realPages = $totalPages;
$page_info = "<div class='cut_page'><div class='num'>";

$page_info .= "<span class='normal'> 共:" . $num . '条/' . $realPages . '页 每页/' . $maxPerPage . '条</span>';

if ( (($realPages > 1) && ($realPages == $currentPage)) || (($currentPage != 1) && ($realPages != $currentPage)) ){
  $page_info .= "<a href='" . $url . 'page=' . intval($currentPage-1) . "'>上一页</a>";
}

$page_info .= "<a href='" . $url . "page=1'>页首</a>";

if ($currentPage > 4){
  $page_info .= "<a href='" . $url . "page=1'>[1]</a><span class='dot'>...</span>";
}

$endpage = $realPages > $currentPage+2 ? $currentPage+2 : $realPages; //位移为2

for ($n = ($currentPage-2); $n <= $endpage; $n++){
  if (!($n < 1)){
   if ($n == intval($currentPage)){
    $page_info .= "<span class='normal'>" . $n . '</span>';
   }else{
    $page_info .= "<a href='" . $url . 'page=' . $n . "'>[" . $n . ']</a>';
   }
  }
}

if ($currentPage+2 < $realPages){
  $page_info .= "<span class='dot'>...</span><a href='" . $url . 'page=' . $realPages . "'>[" . $realPages . ']</a>';
}

$page_info .= "<a href='" . $url . 'page=' . $realPages . "'>页尾</a>";

if ( (($currentPage == 1) && ($realPages != $currentPage) && ($realPages != 0)) || (($currentPage != 1) && ($realPages != $currentPage)) ){
  $page_info .= "<a href='" . $url . 'page=' . intval($currentPage + 1) . "'>下一页</a>";
}

if($totalPages > 0){
  $page_info .= "<form name='form_cut' id='form_cut' class='form_cut' method='post' action='" . $url . "'>";
  $page_info .= "<select name='page' class='cut_select' id='page' onChange='document.form_cut.submit();'>";
  for($j=1; $j<=$totalPages; $j++){
   if($j == $currentPage){
    $page_info .= "<option value='" . $j . "' selected='selected'>第". $j . "页</option>";
   }else{
    $page_info .= "<option value='" . $j . "'>第". $j . "页</option>";
   }
  }
  $page_info .= "</select>";
  $page_info .= '</form>';
}

$page_info .= "</div></div>";

return $page_info;
}
[/php]


cut_page.rar (924 Bytes)
下载次数: 177
2008-11-27 17:19

作者: lyongde   发布时间: 2008-11-27

不错,支持一下。

作者: lyongde   发布时间: 2008-11-27

LZ自己顶自己 ,呵呵

作者: 0hudu   发布时间: 2008-11-27

做个记号

作者: poppub   发布时间: 2008-11-28

纯属  导航函数 

作者: caic   发布时间: 2008-12-02

:)不错支持了

作者: whzyjsxy   发布时间: 2008-12-08

下载很使用了,很方便。表示感谢!

作者: abcnic   发布时间: 2008-12-09

see see

作者: kszhang   发布时间: 2009-01-30