您的位置主页 > PHP

实现分十页分向前十页向后十页的处理

2011-07-01 05:50:49
<?  
/*====对数据的记录进行分页显示=====  
一张页面有连续的十个页面的连接  
一页可显示$limit_row条记录信息  
并有下十页和上十页翻页功能  
===================================  

------需传入值$total_row;$limit_row;$pagename;-----  
$total_row为所选查询结果的总行数  
$limit_row为每页显示的最大行数  
$pagename为返回显示页面名称。(不带后缀名)  
----------------------------------------------------  

----------------------------------------------------  
$page当前所读页面  
$total_page为共可分为几页.  
$row_begin为从第几行开始读  
$row_end为读到第几行为止  
-----------------------------------------------------*/  

if (!$page){ $page=1;}  
$total_page=ceil($total_row/$limit_row);  
$row_begin=$limit_row*($page-1);  
if($page==$total_page&&($total_row%$limit_row)){  
$read_row=($total_row%$limit_row);  
}else{$read_row=$limit_row;}  
if($total_page<=10){  
$page_begin=0;  
$page_end=$total_page;  
$page10=1;  
$newpage10=1;  
}else{  
//--------------分页显示下十页----------------  
// $page10为总共有几个十页  
// $newpage10为读十页的起始位置  
// $page_endx为读取最后的页数  

$page10=ceil($total_page/10);  
if($newpage10 ==""){$newpage10=1;}  
$page_begin=10*($newpage10-1);  
if($newpage10==1)  
{  
if($newpage10==($page10-1)&&($total_page%10))  
{  
$page_endx=$total_page%10;  
$page_end=10;  
echo "<FONT FACE=ARIAL SIZE=2>| 最前十页 | <A HREF=\"$pagename.php?newpage10=2&&page=11\">下 $page_endx 页</A> |</FONT>";  
}else{  
$page_end=10;  
echo "<FONT FACE=ARIAL SIZE=2>| 已是最前十页 | <A HREF=\"$pagename.php?newpage10=2&&page=11\">下十页</A> |</FONT>";  
}  
}elseif($newpage10>1){  
if($newpage10==$page10&&($total_page%10))  
{$page_end=$total_page%10;  
echo "<FONT FACE=ARIAL SIZE=2>| <A HREF=\"$pagename.php?newpage10=".($newpage10-1)."&&page=".(($newpage10-2)*10+1)."\">前十页</A> |已是最后 $page_end 页|</FONT>";  
}else{  
if($newpage10==($page10-1)&&($total_page%10))  
{ $page_endx=$total_page%10;  
$page_end=10;  
echo "<FONT FACE=ARIAL SIZE=2>|<a href=\"$pagename.php?newpage10=".($newpage10-1)."&&page=".(($newpage10-2)*10+1)."\"> 前十页</a> | <A HREF=\"$pagename.php?newpage10=".($newpage10+1)."&&page=".($newpage10*10+1)."\">下 $page_endx 页</A> |</FONT>";  
} else{  
$page_end=10;  
echo "<FONT FACE=ARIAL SIZE=2>| <A HREF=\"$pagename.php?newpage10=".($newpage10-1)."&&page=".(($newpage10-2)*10+1)."\">前十页</A> | <A HREF=\"$pagename?newpage10=".($newpage10+1)."&&page=".($newpage10*10+1)."\">下十页</A> |</FONT>";  
}  
}  

}  
}  

//----------------------每十页页码--------------------------------------  
echo "总共:".$total_row."条&nbsp;&nbsp;第&nbsp;";  
for ($n=$page_begin+1;$n<=$page_begin+$page_end;$n++){  
echo "<a href=$pagename.php?newpage10=$newpage10&&page=$n >$n</a>&nbsp;";  
}  
echo "页";  

?>