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 Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Описание: второе меню - зависит от первого
Rus88
Отправлено: 19 Августа, 2009 - 07:31:43
Post Id



Гость


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


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

[+]


Покажите я хотел составить два раскрывающихся меню чтобы второй зависел от первого
в данном случае у меня первое меню это Марка, а вторая Модель, надо чтобы допустим выбрал Марку а во втором отображалась нужная ему модель.....................
 
 Top
EuGen Администратор
Отправлено: 19 Августа, 2009 - 08:50:03
Post Id


Профессионал


Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007  
Откуда: Berlin


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




Сколько копий сломано уже вокруг этого. Используйте AJAX.
Смотрите материал на
http://www[dot]ajaxa[dot]net
http://www[dot]ajax-samples[dot]ru/
http://habrahabr[dot]ru/blogs/fullajax/53831/
http://webmasterzone[dot]ru/javascri[dot][dot].php-ajax-primery
http://allajax[dot]ru/
http://www[dot]ajaxa[dot]com/

P.S. Как же это я знаю столько ресурсов про AJAX? Тайна раскрывается здесь:
Урок №4 - как правильно читать документацию

Ну и еще, пользуйтесь поиском по форуму - помогает.


-----
Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
 
 Top
RomAndry Администратор
Отправлено: 19 Августа, 2009 - 09:41:02
Post Id



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


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


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




Еще раз попробую объяснить, то что несколько раз писал тебе в аську =(
Ты сказал, что хочешь понять, а не просто найти готовое или что бы за тебя написали - это уже хорошо
Так как только начинаешь познавать PHP то нужно начинать с простого, для понимания
"что и для чего"
Начать лучше с простой формы и понять весь процесс.
Раздел форума "Уроки" помогут в этом.
Далее, добавляешь в форму первый список и смотришь как он работает и обрабатывается на стороне PHP
Так же стоит обратить внимание на дебаг, что бы видеть что к тебе приходит из формы

Эти простые строки покажут тебе очень много =)
Далее, простые вещи JavaScript. Начать с методов onClick onChange
Примеров в интернете много и гугл подскажет как а мы на форуме поможем поправить или обяснить КОНКРЕТНУЮ неточность в коде или в логике
(Извини, но на пустом месте нечего и объяснять - 2 темы и не видно что ты делал и что не получилось!)
Далее ставить на первый список метод onChange и по нему перегружать форму и опять смотреть что приходит в массив POST
После понимания этого процесса можно переходить ко второму списку.
подсказка: из перового сиска ты получаешь ID Марки, по этому ID получаешь список Моделей для второго списка.

А уж потом, когда все предельно ясно и понятно, можно переходить на AJAX

Надеюсь понятно изложил и теперь буду видеть код того что ты делал с объяснением что не получается...
Удачи. Подмигивание
 
My status
 Top
Rus88
Отправлено: 19 Августа, 2009 - 09:47:48
Post Id



Гость


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


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

[+]


спс за такой изложенный ответ, будем стараться Улыбка
 
 Top
RomAndry Администратор
Отправлено: 19 Августа, 2009 - 09:49:33
Post Id



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


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


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




не в спасибо дело, ты пробуй, а что не получается излагай с примером кода - поможем с удовольствием
 
My status
 Top
Rus88
Отправлено: 19 Августа, 2009 - 15:37:34
Post Id



Гость


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


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

[+]


Вот что я натворил, но почему та она при нажатии на списке отображается воопще новое меню и все

CODE (html4strict):
скопировать код в буфер обмена
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  3. <title>Untitled Document</title>
  4. <script type="text/javascript">
  5. <!--
  6. function MM_jumpMenu(targ,selObj,restore){ //v3.0
  7.  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  8.  if (restore) selObj.selectedIndex=0;
  9. }
  10. //-->
  11. </head>
  12.  
  13. <form action="form.php" method="post" name="search">
  14.   Марка:<br><select name="jumpMenu" id="jumpMenu" onChange="MM_jumpMenu('parent',this,0)">
  15.      <option value="1">Любая</option>
  16.     <option value="Acura">Acura</option>
  17.     <option value="Alfa Romeo">Alfa Romeo</option>
  18.     <option>ARO</option>
  19.     <option>Asia</option>
  20.     <option>Таврия</option>
  21.     <option>УАЗ</option>
  22.   </select><br><br>
  23.   Модель<br>
  24.   <select name="model">
  25.     <option>CL</option>
  26.     <option>CSX</option>
  27.     <option>EL</option>
  28.     <option>Integra</option>
  29.     <option>MDX</option>
  30.     <option>NSX</option>
  31.     <option>RDX</option>
  32.     <option>RL</option>
  33.     <option>RSX</option>
  34.     <option>SLX</option>
  35.     <option>TL</option>
  36.     <option>TSX</option>
  37.    </select>
  38.  
  39.  
  40. </form>
  41. </body>
  42. </html>


Отредактировано администратором: RomAndry, 19 Августа, 2009 - 15:45:44
оформляйте код красиво и сократил чуть-чуть
 
 Top
RomAndry Администратор
Отправлено: 19 Августа, 2009 - 15:47:39
Post Id



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


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


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




а где собственно соответствие Модели и Марки?
КАК скрипт "узнает" какие Марки присутствуют у Модели?
 
My status
 Top
Rus88
Отправлено: 19 Августа, 2009 - 16:03:19
Post Id



Гость


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


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

[+]


вот переделал, но все равно не могу понять как он первый список берет у второго, может из value но как тогда мне приписывать другие модели для других марок
CODE (text):
скопировать код в буфер обмена
  1.  
  2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  3. <html>
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
  6. <title>Untitled Document</title>
  7. <script type="text/javascript">
  8. <!--
  9. function MM_jumpMenu(targ,selObj,restore){ //v3.0
  10.   eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  11.   if (restore) selObj.selectedIndex=0;
  12. }
  13. //-->
  14. </script>
  15. </head>
  16.  
  17. <body>
  18. <?
  19. $db = mysql_connect ("localhost","admin","12345");
  20. mysql_select_db("avto",$db);
  21. ?>
  22.  
  23. <form action="form.php" method="post" name="search">
  24.   Марка:<br><select name="showmodels" id="showmodels" onChange="Javascript: Showmodels(value)">
  25.   <option>Любая</option>
  26.   <option value="Acura">Acura</option>
  27.   <option>Alfa Romeo</option>
  28.   <option>ARO</option>
  29.   <option>Asia</option>
  30.   <option>Aston Martin</option>
  31.   <option>Audi</option>
  32.   <option>Austin</option>
  33.   <option>BAW</option>
  34.   <option>Bentley</option>
  35.   <option>Bertone</option>
  36.   <option>BMW</option>
  37.   <option>Buick</option>
  38.   <option>BYD</option>
  39.   </select><br><br>
  40.   Модель: <br><select>
  41.     <option value="Acura">CL</option>
  42.     <option value="Acura">CSX</option>
  43.     <option value="Acura">EL</option>
  44.     <option value="Acura">Integra</option>
  45.     <option value="Acura">MDX</option>
  46.     <option value="Acura">NSX</option>
  47.     <option value="Acura">RDX</option>
  48.     <option value="Acura">RL</option>
  49.     <option value="Acura">RSX</option>
  50.     <option value="Acura">SLX</option>
  51.     <option value="Acura">TL</option>
  52.     <option value="Acura">TSX</option>
  53.   </select>
  54.  
  55. </form>
  56.  
  57.  
  58. </body>
  59. </html>
  60.  
 
 Top
RomAndry Администратор
Отправлено: 19 Августа, 2009 - 16:25:06
Post Id



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


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


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




Интересно уже и база появилась, только к чему она?
Если Модели и Марки будут в Базе тогда пройти шаги(уроки) выборки из базы и формирование выпадающего списка на этом.
Т.е. пора начинать осваивать базу
 
My status
 Top
dsb80
Отправлено: 20 Августа, 2009 - 00:16:29
Post Id



Гость


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


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




Присоединяюсь к предидущему ответу! А если еще добавить AJAX то вмолне можно сделать чтобы при выборе определенной марки предлагался выбор моделей этой марки.
Могу выложить пример...


-----
Не слушайте... После 19.00 вместо меня пишет ПЫВО
 
 Top
Платинум
Отправлено: 20 Августа, 2009 - 08:38:59
Post Id



Частый гость


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


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




Цитата:
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location=""+selObj.options[selObj.selectedIndex].value+""");
if (restore) selObj.selectedIndex=0;
}
//-->

А почему скрипт описан как комментарий ? Не понял
<!--бла-бла-бла//-->

(Отредактировано автором: 20 Августа, 2009 - 08:39:56)

 
My status
 Top
Champion Супермодератор
Отправлено: 20 Августа, 2009 - 09:38:35
Post Id



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


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


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




Платинум внутри <script> <!-- - это не комментарий. Для браузнров, которые понимают <script>. Просто есть браузеры, которые не понимают тэг <script> и выведут всё в браузер, если так не сделать.
 
 Top
Rus88
Отправлено: 20 Августа, 2009 - 11:15:18
Post Id



Гость


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


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

[+]


dsb80 пишет:
Присоединяюсь к предидущему ответу! А если еще добавить AJAX то вмолне можно сделать чтобы при выборе определенной марки предлагался выбор моделей этой марки.
Могу выложить пример...

Цитата:
Выложи посмотрим что у тебя.......

(Добавление)
В принципе я знаю как делать выборку из базы (SELECT * FROM WHERE), но какой принцип лучше исрользовать в данный момент выборку из базы или использование Javascript А?!
 
 Top
Champion Супермодератор
Отправлено: 20 Августа, 2009 - 12:11:43
Post Id



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


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


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




Rus88, одно другому не противоречит. Что ты хотел сказать?
 
 Top
Rus88
Отправлено: 20 Августа, 2009 - 15:31:08
Post Id



Гость


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


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

[+]


Champion пишет:
Rus88, одно другому не противоречит. Что ты хотел сказать?


Хотел сказать помогите понять принцип работы этих списков как второй зависет от первого, хоть как нибудь, сколько не писали все равно непонятно
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Напишите за меня, пожалуйста »


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



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

 
Powered by ExBB FM 1.0 RC1. InvisionExBB