1

我有四个下拉框,它们显示来自数据库的信息,但它只显示四个中的两个。 http://www.cupboard2stomach.com/php/get.php?dropdown1=bread&dropdown3=chicken&Submit=Submit这是它目前的样子。

我的代码有问题吗?

Ingredient 1:<select name= "dropdown1" id = "drop1"/>
    <?php
    while ($line = mysql_fetch_array($result1, MYSQL_ASSOC)) {
    ?> 
    <option value="<?php echo $line['ingredientname'];?>"> <?php echo $line['ingredientname'];?> </option>
    <?php
    }
    ?>

    Ingredient 2:<select name = "dropdown2" id = "drop2"/>
    <?php
    while ($line = mysql_fetch_array($result2, MYSQL_ASSOC)) {
    ?> 
    <option value="<?php echo $line['ingredientname'];?>"> <?php echo $line['ingredientname'];?> </option>
    <?php
    }
    ?>

    Ingredient 3:<select name = "dropdown3" id = "drop3"/>
    <?php
    while ($line = mysql_fetch_array($result3, MYSQL_ASSOC)) {
    ?> 
    <option value="<?php echo $line['ingredientname'];?>"> <?php echo $line['ingredientname'];?> </option>
    <?php
    }
    ?>


    Ingredient 4:<select name = "dropdown4" id = "drop4"/>
    <?php
    while ($line = mysql_fetch_array($result4, MYSQL_ASSOC)) {
    ?> 
    <option value="<?php echo $line['ingredientname'];?>"> <?php echo $line['ingredientname'];?> </option>
    <?php
    }
    ?>
4

4 回答 4

3

您正在尝试对您的选择元素 ( <select />) 使用 XML 样式的自闭合标记语法,这是错误的,浏览器将通过忽略/.

</select>因此,所有选择元素都缺少结束标记 ( )。所以你试图将你的子序列选择元素放在第一个元素中。

即使您可以在任意元素上使用自闭合标记语法,选项元素也需要是它们所属的选择元素的后代!

验证者会为你挑选这个。

于 2013-04-29T13:53:18.933 回答
2

这是因为你没有关闭你的select盒子

例如,更改为:

Ingredient 1:<select name= "dropdown1" id = "drop1"/>
    <?php
    while ($line = mysql_fetch_array($result1, MYSQL_ASSOC)) {
    ?> 
    <option value="<?php echo $line['ingredientname'];?>"> <?php echo $line['ingredientname'];?> </option>
    <?php
    }
    ?>
</select>
于 2013-04-29T13:53:26.103 回答
1

关闭您的选择标签

    Ingredient 1:<select name= "dropdown1" id = "drop1"/>
        <?php
        while ($line = mysql_fetch_array($result1, MYSQL_ASSOC)) {
        ?> 
        <option value="<?php echo $line['ingredientname'];?>"> <?php echo $line['ingredientname'];?> </option>
        <?php
        }
        ?>
       </select>
        Ingredient 2:<select name = "dropdown2" id = "drop2"/>
        <?php
        while ($line = mysql_fetch_array($result2, MYSQL_ASSOC)) {
        ?> 
        <option value="<?php echo $line['ingredientname'];?>"> <?php echo $line['ingredientname'];?> </option>
        <?php
        }
        ?>
</select>
于 2013-04-29T13:53:26.667 回答
0

这是因为 select 它以 /> 结尾,它应该以 > 结尾

w3c 验证器给出错误

 self-closing syntax (/>) used on a non-void HTML element. Ignoring the slash and treating as a start tag.

下次您应该使用http://validator.w3.org/来检查您的代码。

于 2013-04-29T13:55:12.200 回答