从数据库变量 php 填充下拉列表

Populating a dropdown list from database variable php

我正在尝试使用数据库中的变量填充下拉列表,但下拉列表显示为空白。我认为问题在于我如何回显数据。

<div class="col sm-4">
    <label for="paperSelects1"><b>Select Breed to Update</b></label>

    <select id='updatebreed' name='ubreed'>

            <?php while($row = $result->fetch_assoc() ){
                $breed_data = $row['breed'];
                $dogid = $row['dogid'];
            
                echo "<option value='$dogid'> $row </option>";
            }
            ?>
            
    </select> 
        <input type="submit" value="Submit">
</div>

这是我与数据库的连接。我哪里错了?

<?php

    include("../config/connect.php");

    $read = "SELECT * FROM dog_best_in_show ";
   
    $result = $conn->query($read);

?>

怎么样

echo "<option value='$dogid'>$breed_data</option>";

而不是

echo "<option value='$dogid'> $row </option>";

此外,您应该始终使用浏览器的开发工具 (Chrome, Firefox) 交叉检查您的输出。

您使用了错误的 php 未分配的变量,请更新 所以请更新它

 echo "<option value='$dogid'> $row </option>";

 echo "<option value='$dogid'> $breed_data</option>";

所以你的完整代码将是这样的,我正在使用 pdo 连接所以这是 pdo 代码

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test";
?>


<div class="col sm-4">
<label for="paperSelects1"><b>Select Breed to Update</b></label>

<select id='updatebreed' name='ubreed'>
    <?php
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    $stmt = $conn->prepare("SELECT * FROM dog_best_in_show");
    $stmt->execute();
    // set the resulting array to associative
    $result = $stmt->fetchAll();
    foreach ($result as $k => $v) {

        $breed_data = $v['breed'];
        $dogid = $v['dogid'];

        echo "<option value='$dogid'> $dogid </option>";
    }
    ?>

</select>
<input type="submit" value="Submit">
</div>