sablog里的分页函数和使用例子

//分页函数
// $num文章数   $perpage每页显示数 $curpage当前页  $mpurl链接
function multi($num, $perpage, $curpage, $mpurl) {
 global $config;
 $multipage = '';
 $mpurl .= strpos($mpurl, '?') ? '&' : '?';
 if($num > $perpage) {
  $page = 9;
  $offset = 4;
  $pages = @ceil($num / $perpage);
  if($page > $pages) {
   $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;
    }
   } elseif($to > $pages) {
    $from = $curpage - $pages + $to;
    $to = $pages;
    if(($to - $from) < $page && ($to - $from) < $pages) {
     $from = $pages - $page + 1;
    }
   }
  }
  $multipage = ($curpage - $offset > 1 && $pages > $page ? '<span class="pagelink2"><a href="'.$mpurl.'page=1">&laquo;</a></span> ' : '').($curpage > 1 ? '<span class="pagelink2"><a href="'.$mpurl.'page='.($curpage - 1).'">&#8249;</a></span> ' : '');
  for($i = $from; $i <= $to; $i++) {
   $multipage .= $i == $curpage ? '<span class="pagecurrent">'.$i.'</span> ' : '<span class="pagelink"><a href="'.$mpurl.'page='.$i.'">'.$i.'</a></span> ';
  }
  $multipage .= ($curpage < $pages ? ' <span class="pagelink2"><a href="'.$mpurl.'page='.($curpage + 1).'">&#8250;</a></span>' : '').($to < $pages ? ' <span class="pagelink2"><a href="'.$mpurl.'page='.$pages.'">&raquo;</a></span>' : '');
  $multipage = $multipage ? '<div style="padding-right: 0px; padding-left: 0px; padding-bottom: 10px; padding-top: 5px"><span class="pagelink3">Record:'.$num.'</span> '.$multipage.'</div>' : '';
 }
 return $multipage;
}

用法:

 //----------分页读取日志------------
$result = $db->query("select blogid from ".$db_prefix."blog ");
$tatol = $db->num_rows($result);
if($_GET['page']){
   $curpage=$_GET['page'];
}else{
   $curpage='1';
}
$pagenum = 20;  //每页显示数量
$start = $pagenum*($curpage-1);  //读取开始数
$pageurl = './blog.php';
$multipage = multi($tatol, $pagenum, $curpage, $pageurl);
//-----------------------
 $result = $db->query("select * from blog  order by blogid desc limit ".$start.",".$pagenum);
echo  "<center>".$multipage."</center>";

上一篇: 我的格言   下一篇: 湾里跌水沟游玩

提交疑问

请先登录 QQ微博登录

回顶部