如何使用PHP和Mysqli将db结果显示为HTML下拉菜单中的选项?

时间:2019-05-29 19:26:41

标签: php html mysqli

我试图让用户从表单的下拉列表中选择状态,但是尽管查询有效,但DB已连接,但下拉列表中不显示列表。

不确定是否相关,但是我正在运行Windows Server,IIS 10和最新的PHP和MySql。

<div class="form-group col-md-3">
    <label for="state">State</label>
    <select class="form-control" name="state" id="state">
                                            
    <?php  
    // Query to find STATE
    $sql1 = "SELECT * FROM codetable WHERE category = 'state'";
    $result1 = $conn->query($sql1);

    $row1 = mysqli_fetch_array($result1);

    while($row1 = mysqli_fetch_array($result1))  
        {  
            echo '<option value=" '.$row1['code'].' "> '.$row1['description'].' </option>';  
         }
     ?>
    </select>
</div>

我希望数据库中的列表在下拉列表中,但是它是空的(无下拉列表)。

2 个答案:

答案 0 :(得分:0)

在您的while循环之前摆脱$row1 = mysqli_fetch_array($result1);并用此替换循环...

while($row1 = mysqli_fetch_array($result1))  
{  
    ?>
        <option value="<?php echo $row1['code']; ?>"><?php echo $row1['description']; ?></option> 
    <?php
}

不推荐使用HTML。尽可能使用PHP标签对其进行分解,这将使您的代码更易于调试。

答案 1 :(得分:0)

删除您的第一个

$row1 = mysqli_fetch_array($result1);

行和 将您的两个变量(结果和row1)放入var_dump以进行调试