【发布时间】:2012-03-13 18:18:19
【问题描述】:
如何在我的表单中填充一个选择框,其中仅包含与另一个选择框中选择的组匹配的产品?
我在 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
使用表单添加产品时,管理员应该能够选择 GROUP 和 PARENT PRODUCT。这与我的代码一起运行:
<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 的产品。
最好的方法是什么?我怎样才能轻松做到这一点?
【问题讨论】:
标签: php javascript mysql forms