Как заполнить поле выбора в моей форме только продуктами, которые соответствуют группе, выбранной в другом поле выбора?
Я использую две таблицы в базе данных mySQL:
GROUP "node"
nid | title
g1 | Group 1
g2 | Group 2
GROUP "products"
id | name | parent_id | group_id
p1 | Product 1 | p1 | g1
p2 | Product 2 | p1 | g1
p3 | Product 3 | p3 | g1
p4 | Product 4 | p4 | g2
p5 | Product 5 | p5 | g2
p6 | Product 6 | p5 | g2
При добавлении товара с помощью формы администратор должен иметь возможность выбрать ГРУППОВЫЙ и РОДИТЕЛЬСКИЙ ПРОДУКТ. Это работает с моим кодом:
<li>
<label for="group">Group</label>
<select name="group">
<?php
//get group names
$result = mysql_query("SELECT nid, title FROM node WHERE type = 'group';");
while($row = mysql_fetch_array($result)) { ?>
<option value="<?php echo $row['nid']; ?>"><?php echo $row['title']; ?></option>
<?php } ?>
</select>
</li>
<li>
<label for="parent">Parent</label>
<select name="parent">
<?php
//get parent names
$result = mysql_query("SELECT id, name, group_id FROM products");
while($row = mysql_fetch_array($result)) {?>
<option value="<? echo $row['id']; ?>"><?php echo $row['name']; ?></option>
<?php }?>
</select>
</li>
Однако мне бы хотелось, чтобы поле выбора PARENT (родительский продукт) заполнялось только теми продуктами, которые входят в выбранную группу.
В примере базы данных выбранная «Группа 1» будет заполнять продукты p1, p2 и p3. Выбранная группа 2 будет заполнять продукты p4, p5 и p6.
Я знаю, что это не может быть сделано с прямым PHP, но потребуется какой-то javascript для обнаружения group_id / nid в обеих таблицах и отображения только продуктов с этим group_id.
Каков наилучший способ сделать это? Как бы мне это было легко сделать?