Код для пагинации PHP

Автор: | 14.05.2018
  1. <?
  2. //1. Задаем переменные
  3. $items=430;
  4. $items_per_page=25;
  5. $pages_in_paginator=11;
  6. $paginator_offset=floor($pages_in_paginator/2);
  7. //2. Рассчитываем количество страниц.
  8. $page_count=ceil($items/$items_per_page);
  9. //3. Если не задана страница в гет параметре то мы ее приравниваем к нулю.
  10. if(!isset($_GET['page']))
  11. $_GET['page']=0;
  12. $cur_page=intval($_GET['page']);
  13. if($cur_page>=$page_count)$cur_page=$page_count-1;
  14. //4. Рассчет первой страницы для вывода в пагинаторе
  15. $start_page_pagination=$cur_page-$paginator_offset;
  16. if($start_page_pagination<0)$start_page_pagination=0;
  17. //5. Рассчет последней страницы для вывода в пагинаторе
  18. $end_page_pagination=$start_page_pagination+$pages_in_paginator;
  19. if($end_page_pagination>=$page_count)$end_page_pagination=$page_count-1;
  20. if($end_page_pagination-$start_page_pagination<$pages_in_paginator && $page_count>$pages_in_paginator)
  21. {
  22. $end_page_pagination=$page_count-1;
  23. $start_page_pagination=$end_page_pagination-$pages_in_paginator;
  24. }
  25. ?>
  26. <a href='?page=0'><<</a> |
  27. <?if($cur_page-1>=0){?>
  28. <a href='?page=<?=$cur_page-1?>'><</a> |
  29. <?
  30. }
  31. for($i=$start_page_pagination;$i<=$end_page_pagination;$i++)
  32. {
  33. $style="";
  34. $i1=$i+1;
  35. if($i==$cur_page)
  36. $style="style='color:red;'";
  37. echo "<a href='?page=$i' $style> $i1</a> | ";
  38. }
  39. if($cur_page+1<$page_count-1)
  40. {
  41. ?>
  42. <a href='?page=<?=$cur_page+1?>'>></a> |
  43. <?}?>
  44. <a href='?page=<?=$page_count-1?>'>>></a>
<?
//1. Задаем переменные
$items=430;
$items_per_page=25;
$pages_in_paginator=11;
$paginator_offset=floor($pages_in_paginator/2);
//2. Рассчитываем количество страниц.
$page_count=ceil($items/$items_per_page);
//3. Если не задана страница в гет параметре то мы ее приравниваем к нулю.
if(!isset($_GET['page']))
  $_GET['page']=0;
$cur_page=intval($_GET['page']);
if($cur_page>=$page_count)$cur_page=$page_count-1;

//4. Рассчет первой страницы для вывода в пагинаторе
$start_page_pagination=$cur_page-$paginator_offset;
if($start_page_pagination<0)$start_page_pagination=0;
//5. Рассчет последней страницы для вывода в пагинаторе
$end_page_pagination=$start_page_pagination+$pages_in_paginator;
if($end_page_pagination>=$page_count)$end_page_pagination=$page_count-1;

if($end_page_pagination-$start_page_pagination<$pages_in_paginator && $page_count>$pages_in_paginator)
{
  $end_page_pagination=$page_count-1;
  $start_page_pagination=$end_page_pagination-$pages_in_paginator;
}
?>
<a href='?page=0'><<</a> | 
<?if($cur_page-1>=0){?>
<a href='?page=<?=$cur_page-1?>'><</a> | 
<?
}
for($i=$start_page_pagination;$i<=$end_page_pagination;$i++)
{
  $style="";
  $i1=$i+1;
  if($i==$cur_page)
    $style="style='color:red;'";
  
  echo "<a href='?page=$i' $style> $i1</a> | ";
}

if($cur_page+1<$page_count-1)
  {
  ?>
  <a href='?page=<?=$cur_page+1?>'>></a> | 
<?}?>
<a href='?page=<?=$page_count-1?>'>>></a> 

 

Раздел: PHP