代码改变世界

随便写写

2011-05-24 17:35  qinuo  阅读(194)  评论(0编辑  收藏  举报


每天的电话录音卡测试工作令我十分枯燥,我还是比较喜欢写些代码,下面写一些关于uchome中提取的分页函数应用,希望对于学习php的同学有所帮助。
<?
function multi($num, $perpage, $curpage, $mpurl) {
global $_SCONFIG;
$page = 5;
$multipage = '';
$mpurl .= strpos($mpurl, '?') ? '&' : '?';
$realpages = 1;
if($num > $perpage) {
   $offset = 2;
   $realpages = @ceil($num / $perpage);
   $pages = $_SCONFIG['maxpage'] && $_SCONFIG['maxpage'] < $realpages ? $_SCONFIG['maxpage'] : $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">1 ...</a>' : '').
    ($curpage > 1 ? '<a href="'.$mpurl.'page='.($curpage - 1).'" class="prev">&lsaquo;&lsaquo;</a>' : '');
   for($i = $from; $i <= $to; $i++) {
    $multipage .= $i == $curpage ? '<strong>'.$i.'</strong>' :
     '<a href="'.$mpurl.'page='.$i.'">'.$i.'</a>';
   }
   $multipage .= ($curpage < $pages ? '<a href="'.$mpurl.'page='.($curpage + 1).'" class="next">&rsaquo;&rsaquo;</a>' : '').
    ($to < $pages ? '<a href="'.$mpurl.'page='.$pages.'" class="last">... '.$realpages.'</a>' : '');
   $multipage = $multipage ? ('<em>&nbsp;'.$num.'&nbsp;</em>'.$multipage):'';
}
$maxpage = $realpages;
return $multipage;
}

$perpage = 2;                                                                               //每页显示的记录数
$count = 20;                                                                                 //总记录数
$page = empty($_GET['page'])?0:intval($_GET['page']);             //当前页数
$theurl = "page.php" ;                                                                   //当前路径地址
$multi = multi($count, $perpage, $page, $theurl);
echo $multi ;