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
Форумы портала PHP.SU :: Версия для печати :: Выпадающий список на основе радио-кнопок
Форумы портала PHP.SU » » Вопросы новичков » Выпадающий список на основе радио-кнопок

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

1. Adamson - 04 Ноября, 2013 - 18:45:45 - перейти к сообщению
Добрый день уважаемое сообщество.
Помогите решить задачу, не знаю, с какой стороны подойти...

Задача следующая

Есть форма,на которой имеются 2 радио-кнопки.
Задача - слелать так, что-бы выпадающий список формировался на основе разных запросов к БД.
2. deblogger - 04 Ноября, 2013 - 18:54:14 - перейти к сообщению
Под пытками будем узнавать в чем там проблема. Может гвозди под ногти не лезут?
3. teddy - 04 Ноября, 2013 - 18:54:50 - перейти к сообщению
CODE (html):
скопировать код в буфер обмена
  1. <form action="" method="post">
  2.     <input type="radio" name="getlist" value="one">
  3.     <input type="radio" name="getlist" value="two">
  4.     <input type="submit" value="Получить список">
  5. </form>

PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_POST['getlist'])){
  3.     echo $_POST['getlist'];
  4. }
  5.  

Как видите, значение $_POST['getlist'] меняется в зависимости от выбранной кнопки. Можно положить это значение в переменную, которая будет подставляться в ваш запрос, а результат запроса уже выводить в <option>, тоесть в выпадающий список.
4. Adamson - 04 Ноября, 2013 - 19:13:30 - перейти к сообщению
teddy пишет:
CODE (html):
скопировать код в буфер обмена
  1. <form action="" method="post">
  2.     <input type="radio" name="getlist" value="one">
  3.     <input type="radio" name="getlist" value="two">
  4.     <input type="submit" value="Получить список">
  5. </form>

PHP:
скопировать код в буфер обмена
  1.  
  2. if(isset($_POST['getlist'])){
  3.     echo $_POST['getlist'];
  4. }
  5.  

Как видите, значение $_POST['getlist'] меняется в зависимости от выбранной кнопки. Можно положить это значение в переменную, которая будет подставляться в ваш запрос, а результат запроса уже выводить в <option>, тоесть в выпадающий список.


А можно сделать это без отправки данных на сервер?
5. teddy - 04 Ноября, 2013 - 19:16:19 - перейти к сообщению
Adamson пишет:
Задача - слелать так, что-бы выпадающий список формировался на основе разных запросов к БД.

Adamson пишет:
А можно сделать это без отправки данных на сервер?

Нет.
6. IllusionMH - 04 Ноября, 2013 - 19:28:15 - перейти к сообщению
Adamson, можно. Если заранее создать два списка и скрыть их. После выбора радиобаттона - показывать соответствующий.
Если такой вариант не катит, то как без запросов сервер угадает что нужно клиенту?
Другой вопрос, что это можно делать без перезагрузки страницы. Тогда в любимом поисковике ищите "связанные выпадающие списки ajax"
7. Adamson - 04 Ноября, 2013 - 19:42:56 - перейти к сообщению
IllusionMH
Благодарю за подсказку
Ушел читать
Если кому интересно - ссылка
http://www[dot]freeartists[dot]ru/articl[dot][dot][dot]ng/ajax-selects/
8. deblogger - 05 Ноября, 2013 - 04:03:50 - перейти к сообщению
Adamson пишет:
Если кому интересно - ссылка


По ссылке - бред. Так не делают.

Делают вот так. Если связанные свойства простые, скажем ботинки - размеры, то размеры загружаются все и могут быть выбраны в браузере. Если связанные свойства сложные, скажем автомобиль - ТТХ, цвет, опции фарша - то в ответ на выбор модели загружается весь фарш. В котором опять же сложные запросы перезагружают страницу, а простые уже загружены в хтмл или хтмл+скрипт.

Домен ajax'а это гамы и сервис. Продуктовые страницы работают нормально, без аякса.
(Добавление)
С ботинками аналогично. Допустим такое дерево:

обувь
- женская
- мужская
- детская

Аяксом будете загружать весь раздел мужской обуви? Коню ясно - полностью. Затем

- зимняя
- летняя
- всесезонная
- шипованная

Зимнюю всю будете грузить аяксом? Там может быть сотня или две моделей в наличии и под заказ. Нажали зимняя, перезагрузили страницу, показали что есть

- артикул 01
- артикул 22
- артикул 9383

Вот теперь на артикул 01 вы можете повесить список артикулов 02 тире 21 с размерами. И выбор размера уже не потребует перезагрузки, потому что простой список уже весь загружен.

Юзер выбрал артикул 15 - жмет купить - в корзину кладется артикул => количество. Готово.

 

Powered by ExBB FM 1.0 RC1