欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-04-20 09:51:48
<?  
/*====对数据的记录进行分页显示=====  
一张页面有连续的十个页面的连接  
一页可显示$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."条  第 ";  
for ($n=$page_begin+1;$n<=$page_begin+$page_end;$n++){  
echo "<a href=$pagename.php?newpage10=$newpage10&&page=$n >$n</a> ";  
}  
echo "页";  

?>