- function multi($num, $perpage, $curpage, $mpurl, $maxpages = 0, $page = 10, $autogoto = TRUE, $simple = FALSE) {
- global $maxpage;
- $ajaxtarget = !emptyempty($_GET['ajaxtarget']) ? " ajaxtarget=/"".dhtmlspecialchars($_GET['ajaxtarget'])."/" " : '';
- $multipage = '';
- $mpurl .= strpos($mpurl, '?') ? '&' : '?';
- $realpages = 1;
- if($num > $perpage) {
- $offset = 2;
- $realpages = @ceil($num / $perpage);
- $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;
- if($page > $pages) {
- $from = 1;
- $to = $pages;
- } else {
- $from = $curpage - $offset;
- $to = $from + $page - 1;
- if($from < 1) {
- $to = $curpage + 1 - $from;
- $from = 1;
- if($to - $from < $page) {
- $to = $page;
- }
- } elseif($to > $pages) {
- $from = $pages - $page + 1;
- $to = $pages;
- }
- }
- $multipage = ($curpage - $offset > 1 && $pages > $page ? '<a href="'.$mpurl.'page=1" class="first"'.$ajaxtarget.'>1 ...</a>' : '').
- ($curpage > 1 && !$simple ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev"'.$ajaxtarget.'>‹‹</a>' : '');
- for($i = $from; $i <= $to; $i++) {
- $multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
- '<a href="'.$mpurl.'page='.$i.($ajaxtarget && $i == $pages && $autogoto ? '#' : '').'"'.$ajaxtarget.'>'.$i.'</a>';
- }
- $multipage .= ($curpage < $pages && !$simple ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next"'.$ajaxtarget.'>››</a>' : '').
- ($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last"'.$ajaxtarget.'>... '.$realpages.'</a>' : '').
- (!$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>' : '');
- $multipage = $multipage ? '<div class="pages">'.(!$simple ? '<em> '.$num.' </em>' : '').$multipage.'</div>' : '';
- }
- $maxpage = $realpages;
- return $multipage;
- }
下面是supesite的分页
- function multi( $num, $perpage, $curpage, $mpurl, $phpurl = 1 )
- {
- global $GLOBALS['_SHTML'];
- if ( $num < ( $curpage - 1 ) * $perpage )
- {
- messagebox( "error", "start_listcount_error" );
- }
- $maxpages = 999999999;
- $multipage = $a_name = "";
- if ( $phpurl )
- {
- $mpurl .= strpos( $mpurl, "?" ) ? "&" : "?";
- }
- else
- {
- $urlarr = $mpurl;
- unset( $urlarr['php'] );
- unset( $urlarr['modified'] );
- }
- if ( $perpage < $num )
- {
- $page = 10;
- $offset = 2;
- $realpages = @ceil( $num / $perpage );
- $pages = $maxpages && $maxpages < $realpages ? $maxpages : $realpages;
- if ( $pages < $page )
- {
- $from = 1;
- $to = $pages;
- }
- else
- {
- $from = $curpage - $offset;
- $to = $curpage + $page - $offset - 1;
- if ( $from < 1 )
- {
- $to = $curpage + 1 - $from;
- $from = 1;
- if ( $to - $from < $page && $to - $from < $pages )
- {
- $to = $page;
- }
- }
- else if ( $pages < $to )
- {
- $from = $curpage - $pages + $to;
- $to = $pages;
- if ( $to - $from < $page && $to - $from < $pages )
- {
- $from = $pages - $page + 1;
- }
- }
- }
- if ( $phpurl )
- {
- $url = $mpurl."page=1".$a_name;
- $url2 = $mpurl."page=".( $curpage - 1 ).$a_name;
- }
- else
- {
- $urlarr['page'] = 1;
- $url = geturl( arraytostring( $urlarr ) ).$a_name;
- $urlarr['page'] = $curpage - 1;
- $url2 = geturl( arraytostring( $urlarr ) ).$a_name;
- }
- $multipage = ( 1 < $curpage - $offset && $page < $pages ? "<a href=/"".$url."/">|<</a>" : "" ).( 1 < $curpage ? "<a href=/"".$url2."/"><</a>" : "" );
- $i = $from;
- for ( ; $i <= $to; ++$i )
- {
- if ( $phpurl )
- {
- $url = $mpurl."page=".$i.$a_name;
- }
- else
- {
- $urlarr['page'] = $i;
- if ( $urlarr['page'] == 1 )
- {
- unset( $urlarr['page'] );
- }
- $url = geturl( arraytostring( $urlarr ) ).$a_name;
- }
- $multipage .= $i == $curpage ? "<span class=/"xspace-current/">".$i."</span>" : "<a href=/"".$url."/">".$i."</a>";
- }
- if ( $phpurl )
- {
- $url = $mpurl."page=".( $curpage + 1 ).$a_name;
- $url2 = $mpurl."page=".$pages.$a_name;
- }
- else
- {
- $urlarr['page'] = $curpage + 1;
- if ( $urlarr['page'] == 1 )
- {
- unset( $urlarr['page'] );
- }
- $url = geturl( arraytostring( $urlarr ) ).$a_name;
- $urlarr['page'] = $pages;
- if ( $urlarr['page'] == 1 )
- {
- unset( $urlarr['page'] );
- }
- $url2 = geturl( arraytostring( $urlarr ) ).$a_name;
- }
- $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 ? "" : "" );
- $multipage = $multipage ? "<div class=/"xspace-page/"><span class=/"xspace-totlerecord/">".$num."</span><span class=/"xspace-totlepages/">".$curpage."/".$realpages."</span>".$multipage."</div>" : "";
- }
- return $multipage;
- }