Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在表单中更改SELECT A时更新SELECT B from MYSQL中的选项_Php_Javascript_Mysql_Forms - Fatal编程技术网

Php 在表单中更改SELECT A时更新SELECT B from MYSQL中的选项

Php 在表单中更改SELECT A时更新SELECT B from MYSQL中的选项,php,javascript,mysql,forms,Php,Javascript,Mysql,Forms,如何仅使用与另一个选择框中所选组匹配的产品填充表单中的选择框? 我在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

如何仅使用与另一个选择框中所选组匹配的产品填充表单中的选择框?

我在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>
  • 团体
    视情况而定。如果您想使用Javascript,可以使用AJAX

    为此,首先将函数绑定到第一个select的事件“change”

    使用jQuery,您可以创建函数并将其绑定:

    pull_products_by_group = function(this) {
      // Use AJAX here
    }
    
    $('select[name="group"]').change(pull_products_by_group);
    
    然后在这个函数中使用AJAX调用一些新脚本,这些脚本将从products表中选择。您可以让此函数返回JSON(通常推荐)或纯HTML(如果您坚持)


    如果您不想使用javascript,则必须添加一个按钮,用户在选择组后将单击该按钮,该按钮将重新加载自身(php脚本),它将接收所选组,您可以重新显示同一页面,但这一次显示的是产品列表。

    听起来不错,但是我不熟悉AJAX,也不熟悉使用什么代码从数据库中获取信息并将其与所选内容相匹配。我建议您熟悉AJAX,因为复制/粘贴不懂的代码对您没有帮助。这是行不通的,你也不知道为什么。我建议从这里开始: