Как сделать вывод зависимых списков?

danneo

Честный
Регистрация
13 Ноя 2007
Сообщения
1.526
Реакции
121
Нужно при выборе из списка категории, чтобы появлялся другой выпадающий список с подкатегориями выбранной категории. В общем, зависимые списки.
Как вариант, можно чтобы 2-й список не появлялся, а всегда был, если это упростит работу.
Как это делается? Никаких JS, ajax не знаю, только php :)
 
Можно написать функцию вывода списка категории, например если вы выбираете категории из базы и в этой функции проверять нет ли дочерней категории и если она существует вызвать туже функцию, получается рекурсивная функция. Примерно такая логика.
 
Скрытое содержимое доступно для зарегистрированных пользователей!
 
первый пост читается? Зачем мне меню?
 
Нужно при выборе из списка категории, чтобы появлялся другой выпадающий список с подкатегориями выбранной категории. В общем, зависимые списки.
Как вариант, можно чтобы 2-й список не появлялся, а всегда был, если это упростит работу.
Как это делается? Никаких JS, ajax не знаю, только php :)
ты решил проблему или всё также в поиске решения?
в чём хранятся списки, категорий и подкатегорий? важно ли чтоб страница не перезагружалась при выборе категории?

самое простое решение это так называемый аутопостбэк на первом списке на сервер, где ты смотришь, какая категория пришла на сервер и ты можешь подгрузить подкатегории в другой спиоск и отдать контент на клиента.
Для просмотра ссылки Войди или Зарегистрируйся
 
ты решил проблему или всё также в поиске решения?
в чём хранятся списки, категорий и подкатегорий? важно ли чтоб страница не перезагружалась при выборе категории?

самое простое решение это так называемый аутопостбэк на первом списке на сервер, где ты смотришь, какая категория пришла на сервер и ты можешь подгрузить подкатегории в другой спиоск и отдать контент на клиента.
Для просмотра ссылки Войди или Зарегистрируйся
Не решил. Нужно без перезагрузки. Категория и подкатегория в разных таблицах. За пример спасибо, буду переводить :)
 
Не решил. Нужно без перезагрузки. Категория и подкатегория в разных таблицах. За пример спасибо, буду переводить :)
если без перезагрузки то нужно будет использовать ajax, присмотрись к jquery, как ребята советовали. там достаточно просто всё делается, благо примеров множество. особое внимание обрати на то, как ты будешь делать запрос в базу на основе того, что пришло с вэба, самое главное убедится в отсутсвии sql injection, либо хорошо фильтруя и обрабатывая входящие параметри, либо используя параметризированные запросы. а лучше оба подхода.

я больше чем уверен, что на сайте джквайри есть примеры зависимых списков, не могу вспомнить, давно уже не бродил там.
 
  • Заблокирован
  • #9
Задача предельно проста. Проще всего использовать подгрузку на jQuery. jQuery обращается к PHP скрипту, который в свою очередь выполняет запрос к базе данных и возвращает данные.
 
  • Заблокирован
  • #10
Код:
//твои категории
<select id="cats">
    <option value="option1" selected="selected">Категория 1</option>
    <option value="option2"> Категория 2</option>
</select>
 
//тут, внутри дива, список товаров
<div id="products">
</div>
 
<script type="text/javascript">
$('#cats').change(function() { //событие выбора из списка
  // если можно выбрать только одну категорию, то получаешь её
  str = $('#cats).val();
 
  //если категорий несколько, то можешь собрать их названия из списка  вот так
  $("#cats option:selected").each(function () {
            str += $(this).text() + ";";
  });
 
// отправляешь запрос на свой сервер, посылаешь название категории
  $.post("test.php", { cats: str },
  // функция вызывается при получении правильного ответа (с кодом 200)
  function(data) {
    $('#products').html(data); //наполняешь div содержимым - ответом сервера, где генерируешь список товаров исходя из выбранной категории
  });
 
});
</sctipt>
 
Назад
Сверху