discuz的分页函数。

 
  1. function multi($num$perpage$curpage$mpurl$maxpages = 0, $page = 10, $autogoto = TRUE, $simple = FALSE) {
  2.     global $maxpage;
  3.     $ajaxtarget = !emptyempty($_GET['ajaxtarget']) ? " ajaxtarget=/"".dhtmlspecialchars($_GET['ajaxtarget'])."/" " : '';
  4.     $multipage = '';
  5.     $mpurl .= strpos($mpurl'?') ? '&' : '?';
  6.     $realpages = 1;
  7.     if($num > $perpage) {
  8.         $offset = 2;
  9.         $realpages = @ceil($num / $perpage);
  10.         $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;
  11.         if($page > $pages) {
  12.             $from = 1;
  13.             $to = $pages;
  14.         } else {
  15.             $from = $curpage - $offset;
  16.             $to = $from + $page - 1;
  17.             if($from < 1) {
  18.                 $to = $curpage + 1 - $from;
  19.                 $from = 1;
  20.                 if($to - $from < $page) {
  21.                     $to = $page;
  22.                 }
  23.             } elseif($to > $pages) {
  24.                 $from = $pages - $page + 1;
  25.                 $to = $pages;
  26.             }
  27.         }
  28.         $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first"'.$ajaxtarget.'>1 ...</a>' : '').
  29.             ($curpage > 1 && !$simple ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev"'.$ajaxtarget.'>‹‹</a>' : '');
  30.         for($i = $from$i <= $to$i++) {
  31.             $multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
  32.                 '<a href="'.$mpurl.'page='.$i.($ajaxtarget && $i == $pages && $autogoto ? '#' : '').'"'.$ajaxtarget.'>'.$i.'</a>';
  33.         }
  34.         $multipage .= ($curpage < $pages && !$simple ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next"'.$ajaxtarget.'>››</a>' : '').
  35.             ($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last"'.$ajaxtarget.'>... '.$realpages.'</a>' : '').
  36.             (!$simple && $pages > $page && !$ajaxtarget ? '<kbd><input type="text" name="custompage" size="3" οnkeydοwn="if(event.keyCode==13) {window.location=/''.$mpurl.'page=/'+this.value; return false;}" /></kbd>' : '');
  37.         $multipage = $multipage ? '<div class="pages">'.(!$simple ? '<em> '.$num.' </em>' : '').$multipage.'</div>' : '';
  38.     }
  39.     $maxpage = $realpages;
  40.     return $multipage;
  41. }

下面是supesite的分页

 

  1. function multi( $num$perpage$curpage$mpurl$phpurl = 1 )
  2. {
  3.     global $GLOBALS['_SHTML'];
  4.     if ( $num < ( $curpage - 1 ) * $perpage )
  5.     {
  6.         messagebox( "error""start_listcount_error" );
  7.     }
  8.     $maxpages = 999999999;
  9.     $multipage = $a_name = "";
  10.     if ( $phpurl )
  11.     {
  12.         $mpurl .= strpos$mpurl"?" ) ? "&" : "?";
  13.     }
  14.     else
  15.     {
  16.         $urlarr = $mpurl;
  17.         unset( $urlarr['php'] );
  18.         unset( $urlarr['modified'] );
  19.     }
  20.     if ( $perpage < $num )
  21.     {
  22.         $page = 10;
  23.         $offset = 2;
  24.         $realpages = @ceil$num / $perpage );
  25.         $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;
  26.         if ( $pages < $page )
  27.         {
  28.             $from = 1;
  29.             $to = $pages;
  30.         }
  31.         else
  32.         {
  33.             $from = $curpage - $offset;
  34.             $to = $curpage + $page - $offset - 1;
  35.             if ( $from < 1 )
  36.             {
  37.                 $to = $curpage + 1 - $from;
  38.                 $from = 1;
  39.                 if ( $to - $from < $page && $to - $from < $pages )
  40.                 {
  41.                     $to = $page;
  42.                 }
  43.             }
  44.             else if ( $pages < $to )
  45.             {
  46.                 $from = $curpage - $pages + $to;
  47.                 $to = $pages;
  48.                 if ( $to - $from < $page && $to - $from < $pages )
  49.                 {
  50.                     $from = $pages - $page + 1;
  51.                 }
  52.             }
  53.         }
  54.         if ( $phpurl )
  55.         {
  56.             $url = $mpurl."page=1".$a_name;
  57.             $url2 = $mpurl."page=".( $curpage - 1 ).$a_name;
  58.         }
  59.         else
  60.         {
  61.             $urlarr['page'] = 1;
  62.             $url = geturl( arraytostring( $urlarr ) ).$a_name;
  63.             $urlarr['page'] = $curpage - 1;
  64.             $url2 = geturl( arraytostring( $urlarr ) ).$a_name;
  65.         }
  66.         $multipage = ( 1 < $curpage - $offset && $page < $pages ? "<a href=/"".$url."/">|<</a>" : "" ).( 1 < $curpage ? "<a href=/"".$url2."/"><</a>" : "" );
  67.         $i = $from;
  68.         for ( ; $i <= $to;  ++$i    )
  69.         {
  70.             if ( $phpurl )
  71.             {
  72.                 $url = $mpurl."page=".$i.$a_name;
  73.             }
  74.             else
  75.             {
  76.                 $urlarr['page'] = $i;
  77.                 if ( $urlarr['page'] == 1 )
  78.                 {
  79.                     unset( $urlarr['page'] );
  80.                 }
  81.                 $url = geturl( arraytostring( $urlarr ) ).$a_name;
  82.             }
  83.             $multipage .= $i == $curpage ? "<span class=/"xspace-current/">".$i."</span>" : "<a href=/"".$url."/">".$i."</a>";
  84.         }
  85.         if ( $phpurl )
  86.         {
  87.             $url = $mpurl."page=".( $curpage + 1 ).$a_name;
  88.             $url2 = $mpurl."page=".$pages.$a_name;
  89.         }
  90.         else
  91.         {
  92.             $urlarr['page'] = $curpage + 1;
  93.             if ( $urlarr['page'] == 1 )
  94.             {
  95.                 unset( $urlarr['page'] );
  96.             }
  97.             $url = geturl( arraytostring( $urlarr ) ).$a_name;
  98.             $urlarr['page'] = $pages;
  99.             if ( $urlarr['page'] == 1 )
  100.             {
  101.                 unset( $urlarr['page'] );
  102.             }
  103.             $url2 = geturl( arraytostring( $urlarr ) ).$a_name;
  104.         }
  105.         $multipage .= ( $curpage < $pages ? "<a href=/"".$url."/">></a>" : "" ).( $to < $pages ? "<a href=/"".$url2."/" target=/"_self/">>|</a>" : "" ).( $curpage == $maxpages ? "<a href=/"batch.message.php?action=maxpages&pages=".$maxpages."/" >>?</a>" : "" ).( $page < $pages ? "" : "" );
  106.         $multipage = $multipage ? "<div class=/"xspace-page/"><span class=/"xspace-totlerecord/">".$num."</span><span class=/"xspace-totlepages/">".$curpage."/".$realpages."</span>".$multipage."</div>" : "";
  107.     }
  108.     return $multipage;
  109. }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值