<?
//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>