Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Навигация по страницам

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: есть проблема со скриптом
vanicon
Отправлено: 22 Февраля, 2011 - 14:47:45
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 808
Дата рег-ции: Янв. 2010  
Откуда: Самара


Помог: 17 раз(а)




Нужна навигация, типа если страниц много то выводить тока до 6 потом многоточие, если я на 7 странице то убирается 1 и вместо нее многоточие, если я на 8 то убирается 1 а вместо 2 многоточее. Ну если кто не понял то могу привести пример навигация по страницам нужна как на сайте: nigma.ru
Вот написал маленький скриптик который все делает но вот когда я переключаюсь на 8 страницу должно по идее убираться 1 страница а вместо 2 многоточее, многоточее есть но страница 1 не убирается я не знаю как с начала убрать эту страницу и переменная сколько страниц с начала нужно убрать есть вот она: $ili. Ну вот сам и скрипт:
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. function menu_pages($cols,$pages){
  3.  
  4.  
  5.  $col = ceil($cols/$pages);
  6.  
  7.  
  8.  
  9. if ($_GET['page'] <> null){
  10.  $navi = $_GET['page'];
  11.  }
  12.  else {
  13.  $navi = 1;
  14.  }
  15.  
  16.  
  17.  
  18.  if($_GET['page'] > 1){
  19.  $colpages = $_GET['page'] + 6;
  20.  }
  21.  else{
  22.  $colpages = 7;
  23.  }
  24.  
  25.  if($_GET['page'] >= 7){
  26.  $mendelete = $_GET['page'] - 6;
  27.  }
  28.  
  29. $navi = intval($navi);
  30.  
  31. if($col > $colpages){
  32. $col = $colpages;
  33. $coldelete = $col;
  34. }
  35.  
  36.  $ili = $mendelete -1;
  37.  
  38.  for ($i = 1; $i<=$col; $i ++) {
  39.  
  40.  
  41. if($i == $coldelete){
  42.  if ($i != $navi){
  43. echo '<li><a href="'.$PHP_SELF.'?page='.$i.'">...</a></li>';
  44.  }
  45.  else {
  46.  // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
  47.  echo '<li class="curent">'.$i.'</li> ';
  48.  }
  49.  }
  50.  
  51.  
  52.  else{
  53.  
  54.  
  55.  if($i == $mendelete){
  56.  
  57.  if ($i != $navi){
  58.  echo '<li><a href="'.$PHP_SELF.'?text-poisc=самара&col-pages=10&lang=&sortirovca=ru&page='.$i.'">...</a></li>';
  59.  }
  60.  else {
  61.  // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
  62.  echo '<li class="curent">'.$i.'</li> ';
  63.  }
  64.  
  65.  }
  66.  else{
  67.   if ($i != $navi){
  68.  echo '<li><a href="'.$PHP_SELF.'?text-poisc=самара&col-pages=10&lang=&sortirovca=ru&page='.$i.'">'.$i.'</a></li>';
  69.  }
  70.  else {
  71.  // АКТИВНУЮ СТРАНИЦУ ДЕЛАЕМ НЕ ГИПЕРССЫЛКОЙ
  72.  echo '<li class="curent">'.$i.'</li> ';
  73.  }
  74.  
  75.  
  76.  }
  77.  
  78.  
  79.  }
  80.  
  81.  
  82. }
  83.  
  84. }
  85.  
  86.  
  87.  

PS скрипт конечно без комментов но тока ведь написал но обязательно позже исправлю...


-----
Так было, так есть и так будет
 
 Top
Okula
Отправлено: 22 Февраля, 2011 - 18:42:04
Post Id



Участник


Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010  


Помог: 42 раз(а)




100 раз обсуждалось, я и класс навигации выкладывал свой, воспользуйся поиском по форуму если пока не в состоянии написать навигацию самостоятельно.
 
 Top
DeepVarvar Супермодератор
Отправлено: 22 Февраля, 2011 - 20:04:24
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




PHP:
скопировать код в буфер обмена
  1. function paginator($page,$pages,$get) {
  2.         if ($page > 3) $paginator .= ' <a href="?'.$get.'page=1">&laquo;</a> ';
  3.         for ($i = ($page - 2); $i < ($page + 5); $i++) {
  4.                 if ($i > 0 AND $i < $pages+1) {
  5.                         if ($i == ($page + 1)) $alink = ' <b>'.$i.'</b> ';
  6.                         else $alink = ' <a href="?'.$get.'page='.$i.'">'.$i.'</a> ';
  7.                         $paginator .= $alink;
  8.                         }
  9.                 }
  10.         if ($page < $pages-4) $paginator .= ' <a href="?'.$get.'page='.$pages.'">&raquo;</a> ';
  11.         return $paginator;
  12.         }

И всё...

Вызываем так:

echo paginator($текущая_страница,$всего_страниц,$доп_ссылка);

В доп ссылку можно передавать еще данные.
Например в ссылке вида: "?theme=67&page=8"
доп_ссылка = "theme=67&"
 
 Top
JustUserR
Отправлено: 23 Февраля, 2011 - 18:51:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




vanicon Для осуществления решения предполагаемой задачи, заключающейся в создании системы постраничной навигации на web-сайте, обеспечивающей генерацию списка допустимых для запроса страниц на основании указания крайних выборочных элементов, и смежной области относительно текущей просматриваемой web-страницы, допустимо использование простого базового while-цикла, осуществляющего последовательный вывод индексов страниц из предполагаемой окрестности, с условием выполнения break-констуркции в случае превышения заданной области, с осуществлением вывода соответствующего замещающего элемента


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB