包含三种显示方式php分页函数
网络整理 - 08-11
很不错的一个分页函数,包含三种不同的显示方式:显示所有页数、显示前页和后页、下拉列表,完整的代码如下:<?php
// 分页制作 limit 1212, $page_rows
//函数page各个参数分别为:
//$all_rows 所有的记录数
//$per_rows 每页要显示的记录数
//$now_page 当前页的页码
//$url 当前文件的url地址
//$url_p url传值参数
//$elide 0 -- 显示所有页数 1 -- 显示前页和后页 2 -- 显示下拉列表
function page($all_rows,$per_rows,$now_page,$url,$url_p,$elide=0)
{
$page_num = ceil($all_rows/$per_rows); //共多少页
$page_pre = $now_page - 1; //前一页
$page_next = $now_page + 1 ; //下一页
if($page_num <= 1)
{
$str.=" ";
}elseif( $elide == 0 )
{
for($i = 1 ; $i <= $page_num ; $i++)
{
if(($i == 1) && ($now_page !=1) )
{
$str.="<a href='".$url."?".$url_p."=1'>首页</a> ";
}
elseif(($i == $page_num)&&($now_page !=$page_num))
{
$str.=" <a href='".$url."?".$url_p."=".$page_num."'>末页</a> ";
}
elseif($now_page == $i )
{
$str.=" 第<-".$i."->页 " ;
$now = $i+1 ;
}
else
{
$str.=" <a href='".$url."?".$url_p."=".$i."'>第".$i."页</a> " ;
} //end if
}
}
elseif( $elide == 1)
{
if( $now_page!=1 )
{
$str.="<a href='".$url."?".$url_p."=1'>首页</a> ";
}
if($page_pre >1)
{
$str.="<< <a href='".$url."?".$url_p."=".$page_pre."'>前一页</a>=| ";
}
$str.=" 第<-".$now_page."->页 " ;
$now = $i+1 ;
if($page_next <$page_num)
{
$str.=" |-<a href='".$url."?".$url_p."=".$page_next."'>后一页</a> >> ";
}
if($now_page !=$page_num)
{
$str.=" <a href='".$url."?".$url_p."=".$page_num."'>末页</a> ";
}
}else
{
$str .= "<form action=\"\" method=\"get\"><select name=\"page\" onchange=\"this.form.submit()\">";
for($i = 1 ; $i <= $page_num ; $i++)
{
if($now_page == $i)
$str .="<option value =".$i." selected=\"selected\">第".$i."页</option>";
else
$str .="<option value =".$i.">第".$i."页</option>";
}
$str.="</select></form>";
}
echo $str;
return $now ;
}
// 显示分页
if( $_GET['page'])
{
$now_page = $_GET['page'];
echo "当前是第 ".$now_page. " 页<br/>";
page(100,10, $now_page,"","page");
}
else
{
$now_page = 1;
echo "first page 1<br />";
page(100,10, $now_page,"","page");
}
?>