这是在网上搜到的一个php分页代码,然后改了改,随时备用,
分页函数:
<?php function showpage($per,$all,$page,$page_len)//每页记录数、总记录数、当前页、显示的页码数量 { $page_total=ceil($all/$per); $begin=1; $end=$page_total; if($page_total>$page_len){ if($page+4>$page_total){ $end=$page_total; $begin=$page_total-8; }else if($page<=5){ $begin=1;$end=9; }else{ $begin=$page-4; $end=$page+4; } } if($page!=1) { $pagenums="$page/$page_total <a href=\"".$_SERVER['PHP_SELF'].'?page=1">首页 </a>'; $pagenums.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page-1).'">上一页 </a>'; }else $pagenums="$page/$page_total 首页 上一页 "; for($i=$begin;$i<=$end;$i++) { if($page!=$i) $pagenums.='<a href="'.$_SERVER['PHP_SELF']."?page=$i\" >$i </a>"; else $pagenums.="$i "; } if($page==$page_total) $pagenums.="下一页 末页"; else $pagenums.="<a href=\"".$_SERVER['PHP_SELF']."?page=".($page+1)."\">下一页 </a>"."<a href=\"".$_SERVER['PHP_SELF']."?page=$page_total\" >末页</a>"; return $pagenums; } ?>
应用:
<?php include("showpage.php"); $link=mysql_connect("localhost","root",""); mysql_select_db("oj"); mysql_query("set names utf8"); $result=mysql_query("select * from problem"); $all=mysql_num_rows($result); $page=$_GET['page'];//当前页 if(empty($page)||$page<=0) $page=1; $page_len=9;//显示的页数 $per=50;//每页记录数 $temp=($page-1)*10; $sql="select * from problem limit $temp,10"; $result=mysql_query($sql); while($row=mysql_fetch_array($result)) echo $row['title']."<br>"; echo showpage($per,$all,$page,$page_len);//调用 ?>