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

  • A+
所属分类:PHP编程
  1. <?
  2. /*====对数据的记录进行分页显示=====  
  3. 一张页面有连续的十个页面的连接  
  4. 一页可显示$limit_row条记录信息  
  5. 并有下十页和上十页翻页功能  
  6. ===================================  
  7. ------需传入值$total_row;$limit_row;$pagename;-----  
  8. $total_row为所选查询结果的总行数  
  9. $limit_row为每页显示的最大行数  
  10. $pagename为返回显示页面名称。(不带后缀名)  
  11. ----------------------------------------------------  
  12. ----------------------------------------------------  
  13. $page当前所读页面  
  14. $total_page为共可分为几页.  
  15. $row_begin为从第几行开始读  
  16. $row_end为读到第几行为止  
  17. -----------------------------------------------------*/
  18. if (!$page){ $page=1;}
  19. $total_page=ceil($total_row/$limit_row);
  20. $row_begin=$limit_row*($page-1);
  21. if($page==$total_page&&($total_row%$limit_row)){
  22. $read_row=($total_row%$limit_row);
  23. }else{$read_row=$limit_row;}
  24. if($total_page<=10){
  25. $page_begin=0;
  26. $page_end=$total_page;
  27. $page10=1;
  28. $newpage10=1;
  29. }else{
  30. //--------------分页显示下十页----------------  
  31. // $page10为总共有几个十页  
  32. // $newpage10为读十页的起始位置  
  33. // $page_endx为读取最后的页数  
  34. $page10=ceil($total_page/10);
  35. if($newpage10 ==""){$newpage10=1;}
  36. $page_begin=10*($newpage10-1);
  37. if($newpage10==1)
  38. {
  39. if($newpage10==($page10-1)&&($total_page%10))
  40. {
  41. $page_endx=$total_page%10;
  42. $page_end=10;
  43. echo "<FONT FACE=ARIAL SIZE=2>| 最前十页 | <A HREF=\"$pagename.php?newpage10=2&&page=11\">下 $page_endx 页</A> |</FONT>";
  44. }else{
  45. $page_end=10;
  46. echo "<FONT FACE=ARIAL SIZE=2>| 已是最前十页 | <A HREF=\"$pagename.php?newpage10=2&&page=11\">下十页</A> |</FONT>";
  47. }
  48. }elseif($newpage10>1){
  49. if($newpage10==$page10&&($total_page%10))
  50. {$page_end=$total_page%10;
  51. echo "<FONT FACE=ARIAL SIZE=2>| <A HREF=\"$pagename.php?newpage10=".($newpage10-1)."&&page=".(($newpage10-2)*10+1)."\">前十页</A> |已是最后 $page_end 页|</FONT>";
  52. }else{
  53. if($newpage10==($page10-1)&&($total_page%10))
  54. { $page_endx=$total_page%10;
  55. $page_end=10;
  56. 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>";
  57. else{
  58. $page_end=10;
  59. 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>";
  60. }
  61. }
  62. }
  63. }
  64. //----------------------每十页页码--------------------------------------  
  65. echo "总共:".$total_row."条  第 ";
  66. for ($n=$page_begin+1;$n<=$page_begin+$page_end;$n++){
  67. echo "<a href=$pagename.php?newpage10=$newpage10&&page=$n >$n</a> ";
  68. }
  69. echo "页";
  70. ?>