![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 15.05.2016
Сообщений: 4
|
![]()
Доброго времени суток! Имеется таблица товаров в БД, товар должен относиться к категории и подкатегории (в моем случае это, к примеру: Роза Белая, ее категория - срезка, подкатегория - розы). Также соответственно и имеются 2 таблицы в БД с категориями и подкатегориями, связанные с таблицей товаров путем привязки к каждой строке с товаром id его категории и подкатегории. Пытаюсь сделать форму продажи товаров, здесь нужно, чтобы пользователь выбрал сначала категорию и подкатегорию, а затем смог выбирать товары, которые относятся к ним(чтобы не выбирать из большого списка). Уже сломал голову как такое можно сделать, учитывая следующее: в моем случае я сразу при загрузке страницы считываю и заношу в 3 массива на странице продажи(php) категории, подкатегории и товары. В массиве товаров разумеется есть айдишники категорий и подкатегорий каждого товара. Так как это форма продажи, то у меня динамически наполняется таблица с input`ами и select`ами в строках для заполнения данных о продаваемых товарах. Как можно связать эти 3 select`a, 2 из которых с категориями и подкатегориями уже будут сразу заполнены из таблиц, а вот содержание 3-го select`a должно по onchange меняться в зависимости от того, что выбрали в первых двух?
p.s. я так понимаю что мне здесь придется использовать ajax, проблема встает на уровне - как передать, не перезагружая страницу, странице продажи на php value двух select`ов, и в зависимости от этого либо построить запрос на выборку из таблицы товаров, либо отсеять уже готовый, содержащий всю таблицу. В конечном итоге, 3-ий select с товаром должен возвращать id товара. |
![]() |
![]() |
![]() |
#2 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
![]()
Это просто ПРИМЕР.
Тут небольшая логика, запросы AJXA просто с эмулировал. Сами запросы дальше. Код:
PHP код:
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
![]() |
![]() |
![]() |
#3 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
![]()
И сами запросы. Ях их у себя взял, дак что там много вам не нужного.
Уберите что не нужно. Заголовки, и ввсе такое // ------------------------------------------------------ // GET PHP код:
// POST PHP код:
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
![]() |
![]() |
![]() |
#4 |
Регистрация: 15.05.2016
Сообщений: 4
|
![]()
Большое спасибо! Извлек много нового и полезного как для себя, так и для задачи
![]() |
![]() |
![]() |
![]() |
#5 |
Регистрация: 15.05.2016
Сообщений: 4
|
![]()
Реализовал "по-совему"
![]() Сами селекты: Код HTML:
<form action="index.php" method="POST" name="selling"> <table align="center" class="standart-table"> <tbody id="data"> <tr> <td width="20px"><a>#</a></td> <td width="150px"><a>Тип товара</a></td> <td width="150px"><a>Подтип товара</a></td> <td width="250px"><a>Наименование товара</a></td> <td width="200px"><a>Редактирование данных</a></td> </tr> <tr> <td class="numb"><a>1</a></td> <td><select name="type[0]" required onchange="getItems(this);"> <?php while($types = mysqli_fetch_assoc($typesQry)) echo "<option value=\"".$types["id"]."\">".$types["name"]."</option>"; ?> </select> </td> <td><select name="subtype[0]" required onchange="getItems(this);"> <?php while($subtypes = mysqli_fetch_assoc($subtypesQry)) echo "<option value=\"".$subtypes["id"]."\">".$subtypes["name"]."</option>"; ?> </select> </td> <td> <select name="item[0]" required> <?php while($items = mysqli_fetch_assoc($itemsQry)) echo "<option value=\"".$items["id"]."\">".$items["name"]."</option>"; ?> </select> </td> <td> <a onclick="deleteField(this);" href="#" id="delete"><img src="remove.ico" alt="Удалить"></a> <a onclick="addField();" href="#" id="add"><img src="add.ico" alt="Добавить"></a> </td> </tr> </tbody> </table></br> <center><input type="submit" value=" Продать " name="sellBtn" /></center> </form> Код HTML:
function getItems(select) { var regexFindBr = /[0-9]+/; var str = select.name; var pos = str.match(regexFindBr); var problem = $('select[name="item['+pos+']"'); var problemTd = problem.parent(); var typeval = $('select[name="type['+pos+']').val(); var subtypeval = $('select[name="subtype['+pos+']').val(); $.ajax({ url: "getItemsDB.php", type: "post", data: {"type":typeval, "subtype":subtypeval}, success: function(data) { $(problem).remove(); var newSel = document.createElement("select"); newSel.name = "item["+pos+"]"; var options=''; var json = JSON.parse(data); for(var value in json) { options+='<option value='+json[value]["id"]+'>'+json[value]["name"]+'</option>'; } $(newSel).append(options); $(problemTd).append(newSel); } }); } PHP код:
|
![]() |
![]() |
![]() |
#6 |
юзер как все
Участник клуба
Регистрация: 10.01.2012
Сообщений: 1,586
|
![]()
Здорово! Ловишь на лету!
![]()
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/
|
![]() |
![]() |
![]() |
Опции темы | Поиск в этой теме |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
обработка выпадающего списка | Leks123 | PHP | 2 | 12.08.2013 23:38 |
Настройка выпадающего списка | BenderMTB | Microsoft Office Excel | 1 | 10.11.2012 10:17 |
Построение элементов выпадающего списка из базы | HDMI | PHP | 4 | 29.03.2012 12:59 |
Создание выпадающего списка | Anastasia666 | Microsoft Office Access | 2 | 04.09.2011 17:57 |
Прокрутка выпадающего списка | SAndrus | Microsoft Office Excel | 2 | 16.06.2007 17:52 |