Каков наилучший способ иметь динамический выпадающий список в PHP и POST выбранного значения - PullRequest
0 голосов
/ 10 апреля 2010

Я пишу следующее в PHP: я хотел бы иметь 2 выпадающих списка, где второй заполняется из базы данных MySQL в соответствии с выбором, сделанным в первом выпадающем списке. Затем я хотел бы использовать значения выбранных значений в раскрывающемся списке, чтобы вызвать другую страницу PHP, на которой я буду генерировать запрос БД.

Например: Список A: Производство автомобилей (Honda, Nissan и т. Д.) Список B: Модели (Accord, Civic и т. Д.)

Тогда у меня будет кнопка отправки, чтобы POST значения в другом файле PHP? (У меня есть основы того, как выполнить вышеупомянутое без динамического списка, но я пробовал это с AJAX, но у меня есть проблемы с передачей значения второго выпадающего списка)

Какие-нибудь советы, как я могу выполнить вышеупомянутое?

Ответы [ 3 ]

0 голосов
/ 10 апреля 2010

Сначала я бы предложил сделать это без AJAX.

просто создайте первую форму, используя метод GET. Итак, после отправки этой формы вы попадете с классической строкой запроса? Choice = 1 во второй скрипт. Таким образом, вы можете использовать $ _GET ['choice'] (конечно, правильно обработанный) для запроса базы данных и заполнения второго выбора.

Не забудьте добавить

<input type="hidden" name="choice" value="<?php echo htmlspecialchars($_GET['choice'])?>">

ко второй форме

0 голосов
/ 11 апреля 2010

решение найдено здесь: http://www.plus2net.com/php_tutorial/php_drop_down_list.php

0 голосов
/ 10 апреля 2010

У вас должен быть отдельный PHP-файл (назовем его search.php), который возьмет переменную POST (назовем ее make) и выполнит запрос, который выдаст список.

После того, как он выплевывает список (по одному model на строку, заканчивается \n), у вас должен быть фрагмент JavaScript, который затем выбросит его во второй выпадающий список.

Нажатие кнопки отправки должно быть просто формой POST для другого файла PHP.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...