HTML表单中的动态下拉列表

时间:2013-08-12 12:54:40

标签: php html

我有以下代码来创建一个下拉列表:

<body>
    <form method="post">
        <table>
            <tr>
                <td>Firm Name:</td>
                <td><input type="text"class="input_text_long"  name="name" value="<?php echo $name ?>"/></td>
            </tr> 
            <tr>
                <td>Hub Name:</td>
                <select>
                    <option value="">---Select---</option>
                    <?php
                        $list=mysql_query("SELECT * FROM hub");
                        while($row = mysql_fetch_assoc($list)) {
                    ?>
                    <option value=<?php echo $row_list['name'];?>
                    </option>
                    <?php } ?>
                </select>
            </tr> 
                <td>&nbsp;</td>
                <td><input type="submit" name="save" value="Save" /></td>
            </tr>
        </table>
    </form>
</body> 

但是,这不会显示任何下拉列表。它只显示一个文本框。有谁能告诉我我做错了什么,拜托?或者如何在表单中创建下拉框。

3 个答案:

答案 0 :(得分:0)

我认为问题在于这一行:

<?php echo $row_list['name'];?>

应该是:

<?php echo $row['name'];?>
  

此外,您的开场<option>代码没有结束>

<option value=<?php echo $row['name'];?>></option>

答案 1 :(得分:0)

您的option标记错误。

正确的语法<option value="VALUE">OPTION NAME</option>

<select>
    <option value="">---Select---</option>
    <?php
    $list = mysql_query("SELECT * FROM hub");
    while ($row = mysql_fetch_assoc($list)) {
          $name = $row['name'];
    ?>
        <option value="<?php echo $name; ?>"><?php echo $name; ?></option>
    <?php
    }
    ?>
</select>

答案 2 :(得分:0)

更改此行

<option value=<?php echo $row_list['name'];?></option>

<option value="<?php echo $row['name'];?>"><?php echo $row['name'];?></option>