如果选择了选项,则在另一个选项

时间:2015-08-09 03:35:15

标签: php jquery html mysql sql-server

我是php的新手,所以请耐心等待。 我正在尝试创建一个php网页,其中有多个Select选项。 如果我从选择字段中选择一个选项,我希望另一个选择字段来更改与选择选项相关的值。这是我的PHP代码。

<div class="form-group">
    <label for="Labels">Labels:</label>
    <select class="form-control" name="labels"  >
        <?php 
            $q = "SELECT * FROM Labels ORDER BY LABELS_ID ASC";
            $r = mysqli_query($dbc, $q);
            while ($opt = mysqli_fetch_array($r)) {
                echo "<option value='$opt[LABELS_ID]'>".$opt['LABELS']."</option>";  
            }
        ?>
    </select>
</div>

<div class="form-group">
    <label for="option_id">Options:</label>
    <select class="form-control" name="option_id" id="option_id" >
        <?php 
        $q = "SELECT * FROM OPTIONS ORDER BY OPTIONS ASC";
        $r = mysqli_query($dbc, $q);
        while ($opt = mysqli_fetch_array($r)) {
            echo "<option value='$opt[OPTIONS_ID]'>".$opt['OPTIONS']."</option>";  
        }

        ?>
    </select>
</div>

我正在从数据库中选择值。

我的标签数据库是这样的:
LABEL_ID LABEL
10001食品
10002电子 或者这是图像:
http://s7.postimg.org/npo87fi6j/Screen_Shot_2015_08_08_at_11_19_46_PM.png

我的选项数据库是这样的:
OPTION_ID选项LABEL_ID
20001肉10001
20002海鲜10001
20003鸡10001 20004桌面10002
20005笔记本电脑10002

感谢

1 个答案:

答案 0 :(得分:0)

您有三种选择:

OPTGROUP: 如果数据库中没有大量数据,您可以使用optgroup。您将只获得一个带有标签的选项,并且选项是缩进的。

PHP: 在第一页上,您只需显示标签。您可以使用用于发送所选数据的按钮在选择周围构建一个小表单。用户选择标签并将数据发送到服务器。

根据此数据,您可以创建另一个sql查询和html。用户将获得另一个页面,他/她可以在其中选择选项。

使用Javascript: 执行javascript的最简单方法是,安装jQuery,它是一个库。

然后,您将为标签选择创建一个事件监听器。如果用户正在更改选择,则第二个选择将激活并显示相应的选项。

这种方式需要您在浏览器中保存完整数据。所以你需要在HTML中使用某种数组或对象来保存它。

更高级的方法是使用ajax:如果用户进行选择,则对服务器进行ajax调用。它正在发回sql结果,你必须通过javascript创建第二个选择。

最佳解决方案是什么,取决于数据的数量,您要对选择做什么,......

因为你是初学者,所以我会从PHP开始。