构建分页导航
-by fallseir
join_url 和 split_url 参看这里
echo multi_page($current_page_num,$is_page_end);
echo multi_page($current_page_num,false,$item_count);
echo multi_page($current_page_num,false,$item_count,$page_size);
echo multi_page($current_page_num,false,$item_count,$page_size,$req_uri);
function multi_page($page ,$is_page_end,$item_count=false,$page_size=10,$req_uri=false){
if(!$req_uri)
$req_uri=$_SERVER["REQUEST_URI"];
list($path,$args)=split_url($req_uri);
$html = "";
if($item_count&&$item_count>$page_size){
$p_count=ceil(($item_count-1)/$page_size);
$s=$page-3;
if($s<=1){
$s=1;
}else{
$i=1;
unset($args["p"]);
$url=join_url($path,$args);
$html .= "<a href="{$url}">$i</a> ";
if($s>2)
$html.=".. ";
}
$e=$page+3;
$end_str="";
if($e>=$p_count){
$e=$p_count;
}else{
$i=$p_count;
$args["p"]=$i;
$url=join_url($path,$args);
$end_str= " <a href="{$url}">$i</a>";
if(($e+1)<$p_count)
$end_str="..".$end_str;
}
for($i=$s;$i<=$e;$i++){
if($i==$page){
$html .= "<b>$i</b> ";
}else{
$args["p"]=$i;
if($i==1)
unset($args["p"]);
$url=join_url($path,$args);
$html .= "<a href="{$url}">$i</a> ";
}
}
$html.=$end_str;
}else{
if($page>1){
$args["p"]=$page-1;
if($page-1==1)
unset($args["p"]);
$url=join_url($path,$args);
$html .= "<a href="{$url}">上一页</a> ";
}
if(!$is_page_end){
$args["p"]=$page+1;
$url=join_url($path,$args);
$html .= " <a href="{$url}" >下一页</a>";
}
}
return $html;
}

看完了要说点啥么?
You must be logged in to post a comment.