PHP

Навигация по страницам

$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 'бла бла бла'; //нижнее оформление 
     } 
}
Добавлено: 27 Августа 2013 05:40:05 Добавил: Андрей Ковальчук Нравится 0
Добавить
Комментарии:
Нету комментариев для вывода...