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]   

> Описание: Выпадающее меню с помощью массивов.
mihon_kri
Отправлено: 26 Февраля, 2012 - 20:21:57
Post Id


Новичок


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


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




Доброе время суток!
Столкнулся с такой проблемой: решил запрограмить выпадающее меню. Основное меню построено на массиве. Дополнительное (оно должно появляться при клике на ссылку "Услуги" и пропадать при повторном нажатии на него)- тоже на массиве. Код основного и выпадающего меню в приложенных файлах. Возможно есть и какое то другое решение для такой задачи. нежели передача методом GET по ссылке "услуги" и подключения второго массива через include? Пожалуйста подскажите возможные пути решения?
Заранее спасибо и не судите строго)))) Каждый когда то учился)))

Код основного меню:

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. //Массив, который должен "выпадать" при нажатии на ссылку "услуги"
  3. $menu2=array(
  4.         '<img src="img/manik_dop.gif" width="200" height="30">'=>"index.php?id=manik",
  5.         '<img src="img/kosmet_dop.gif" width="200" height="30">'=>"index.php?id=kosmet",
  6.         '<img src="img/parik_dop.gif" width="200" height="30">'=>"index.php?id=parik"
  7.         );
  8. // Массив основной
  9. $menu=array(
  10.         '<img src="img/onas.gif" width="200" height="30">'=>"index.php?id=onas",
  11.         '<img src="img/uslugi.gif" width="200" height="30">'=>"index.php?id=uslugi",
  12.         '<img src="img/price.gif" width="200" height="30">'=>"index.php?id=preiskurant",
  13.         '<img src="img/gallery.gif" width="200" height="30">'=>"index.php?id=foto",
  14.         '<img src="img/kontakt.gif" width="200" height="30">'=>"index.php?id=kontakt"
  15.         );
  16.  
  17.  
  18. echo '<table width="200" border="0" align="left">';
  19. foreach ($menu as $link=>$href){
  20.  
  21.   echo "<tr>";
  22.                 echo "<td><a href= $href> $link </a>";         
  23.                         $id=strip_tags($_GET['id']);
  24.                         if ($id=="uslugi" and isset($_COOKIE["vizit"])){
  25.                                
  26.                                 $vizit=$_COOKIE["vizit"];
  27.                                         if($vizit=="on"){
  28.                                                 include ("menu2_2.php");
  29.                                                 $vizit="off";
  30.                                                 setcookie("vizit",$vizit, time () +3600);
  31.                                         }
  32.                                         elseif ($vizit=="off") {
  33.                                                 $vizit=="on";
  34.                                                 echo "";
  35.                                                 setcookie("vizit",$vizit, time () +3600);
  36.                                                 }
  37.                                         else
  38.                                                 echo "";
  39.                                         }
  40.                         elseif ($id!="uslugi" and isset($_COOKIE["vizit"])){
  41.                                         $vizit=$_COOKIE["vizit"];
  42.                                         if ($vizit=="on"){
  43.                                         include ("menu2_2.php");
  44.                                                 $vizit="off";
  45.                                                 setcookie("vizit",$vizit, time () +3600);
  46.                                         }
  47.                                         elseif ($vizit=="off") {
  48.                                                 $vizit=="on";
  49.                                                 echo "";
  50.                                                 setcookie("vizit",$vizit, time () +3600);
  51.                                         }}
  52.                        
  53.                        
  54.                 echo "</td>";
  55.   echo "</tr>";}
  56. echo "</table>";
  57. ?>



Код подключаемого по ссылке "услуги":

PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. echo '<table width="200" border="0" align="left">';
  3. foreach ($menu2 as $link=>$href){
  4.  
  5.   echo '<tr>';
  6.                 echo"<td><a href= $href> $link </a></td>";
  7.   echo '</tr>';}
  8. echo "</table>";
  9.  
  10. ?>


Отредактировано модератором: Мелкий, 26 Февраля, 2012 - 20:26:39
 
 Top
mihon_kri
Отправлено: 28 Февраля, 2012 - 21:58:23
Post Id


Новичок


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


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




Что. неужели здесь ни кто не в силах прокоментить данный код?
 
 Top
Zuldek
Отправлено: 01 Марта, 2012 - 11:21:34
Post Id


Постоянный участник


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


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




Ну а что тут комментировать. Если ваши задачи требуют именно такой реализации, то пусть будет, если работает.
Вообще же, по-человечески, id и названия пунктов меню, как и параметр, например, parеnt, хранящий id родительского пункта меню хранятся в бд. Вся таблица извлекается при заходе на страницу и выстраивается в иерархическое меню без всяких инклудов. А поведение меню программируется на JS чтобы вложенные пункты меню "выпадали" без необходимости переходить по ссылке родительского пункта меню
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Если скрипт не работает »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB