Навигация по страницам
$max - сколько максимально возможно страниц, это можно выяснить методом в скобках ( $max = общее число объектов / кол-во объектов на страницу ) я не ставил этот просчёт в класс, так как его лучше выяснять ДО навигационных ссылок, для вывода сообщений что СТРАНИЦА ПУСТА, если запрашиваемая страница больше данного числа, а навигация как известно ставится после вывода объектов или не ставится вообще.
$str - данная страница, которую получаем через ГЕТ ($str = intval($GET['str']))
$path = '' - это переменная при использовании ($pars = parse_url('http://example.com/index.php?str=6') после этого, в переменной $pars['path'] будет строка '?str=6' ) это нам поможет указать нужный блок или подблок, который вы используете в своём коде, если нет, для этого есть значение по умолчанию или можете просто снести его...
// определяем функцию
function navigator($max, $str, $path = '') {
echo 'бла бла бла'; // верхнее оформление блока навигации
$ssil = $str - 3; // 3 это кол-во страниц, которые показывать ДО данной страницы (можете менять или добавить var)
$link = $str + 4; // 4 наоборот, сколько страниц показывать за данной
// запускаем цикл который будет действовать 7 раз или меньше если максимально страниц меньше чем $link
while($ssil < $link and $max >= $ssil) {
if($ssil > 0) { // тут прикрываем отрицательные числа
if ($ssil == $str) echo '='.$ssil.'='; // номер данной страницы (если актуально)
else echo '<a href=".'.$_SERVER['PHP_SELF'].'?'.$path.'str='.$ssil.'">['.$ssil.']</a>'; // остальные ссылки
}
++$ssil; // воронка цикла
}
if($str > 1)
echo '<br/><a href=".'.$_SERVER['PHP_SELF'].'?'.$path.'">[в начало]</a>'; // ссылка на начало
if($str < $max) {
echo '<br/><a href=".'.$_SERVER['PHP_SELF'].'?'.$path; // ссылка на конец
if($path !== '') echo '&';
echo 'str='.$max.'">[в конец]</a>';
echo 'бла бла бла'; //нижнее оформление
}
}
Комментарии:
Нету комментариев для вывода...