File size: 2.12Kb
<?php
// Текущая страница
function page($k_page = 1)
{
$page = 1;
if (isset($_GET['page']))
{
if ($_GET['page'] == 'end') $page = intval($k_page);
else if (is_numeric($_GET['page'])) $page = intval($_GET['page']);
}
if ($page < 1) $page = 1;
if ($page > $k_page) $page = $k_page;
return $page;
}
// Количество страниц
function k_page ($k_post = 0, $k_p_str = 10)
{
if ($k_post != 0)
{
$v_pages = ceil($k_post / $k_p_str);
return $v_pages;
}
else return 1;
}
// Вывод номеров
function str($link = '?', $k_page = 1, $page = 1)
{
if ($page < 1) $page = 1;
echo '<div class="menu">Стр: ';
# Ссылка на первую страницу
if ($page != 1) echo '<a href="'. $link .'page=1">«</a> ';
if ($page != 1) echo '<a href="'. $link .'page=1">1</a>';
else echo '[1]';
for ($ot=-3; $ot<=3; $ot++)
{
if ($page + $ot > 1 && $page + $ot < $k_page)
{
if ($ot == -3 && $page + $ot > 2) echo ' .. ';
if ($ot != 0) echo ' <a href="'. $link .'page='. ($page + $ot) .'">'. ($page + $ot) .'</a>';
else echo ' ['. ($page + $ot) .']';
if ($ot == 3 && $page + $ot < $k_page - 1) echo ' .. ';
}
}
if ($page != $k_page) echo ' <a href="'. $link .'page=end">'. $k_page .'</a>';
else if ($k_page > 1) echo ' ['. $k_page .']';
# Ссылка на последнюю страницу
if ($page!=$k_page) echo ' <a href="'. $link .'page=end">»</a>';
echo '</div>';
}
// Объявление постраничной навигации в скрипте
function nav_start($var, $limit)
{
global $k_page, $page, $start;
$k_page = k_page($var, $limit);
$page = page($k_page);
$start = $limit * $page - $limit;
}
// Отображение постраничной навигации
function view_nav($link = '?')
{
global $k_page, $page;
if ($k_page > 1) str($link, $k_page, $page);
}
?>