如何使用数据库数据填充html上的select下拉列表

23c0lvtd  于 2021-06-21  发布在  Mysql
关注(0)|答案(3)|浏览(848)

我是一个完全的新手与php/html的东西,所以请容忍我。我一直在尝试使用myslq数据库中的数据填充一个select框,但我无法让它工作,我所拥有的只是一个空白文本框。这就是我现在所拥有的:

<select name="cargo">
    <?php 
        require("conectadb.php");
        $ok = conecta_db() or die ("Failure");
        $sql = mysqli_query($ok, "SELECT descCargo FROM tbcargo");
        while ($row = mysqli_fetch_array($sql)){
            $c = $row['descCargo'];
            echo("<option value=\"$c\">$c</option>");                                                                   
        }   
    ?>  
</select>

这是我目前的数据库结构,包含所有相关行:
数据库名称:tbcargo
pkcodcargo(主键,自动递增)
desccargo(我想在下拉列表中填充的内容)
不幸的是,我想尽一切办法都没用。有人能帮我指出我到底做错了什么吗?
提前谢谢!

lpwwtiir

lpwwtiir1#

这是解决办法。


# here database details

mysql_connect('hostname', 'username', 'password');
mysql_select_db('database-name');

$sql = "SELECT descCargo FROM tbcargo";
$result = mysql_query($sql);

echo "<select name='cargo'>";
while ($row = mysql_fetch_array($result)) {
    echo '<option value="'. $row['descCargo'] .'">'.$row['descCargo'] .'</option>';
}
echo "</select>";
pkmbmrz7

pkmbmrz72#

将代码部分更新为:

<select name= 'cargo'>

    <?php

    require("conectadb.php");
    $ok = conecta_db() or die ("Failure");
    $sql = mysqli_query($ok, "SELECT descCargo FROM tbcargo");

    while ($rows = $sql->fetch_assoc())
    {
          echo '<option value="'.$rows['descCargo'].'">'.$rows['descCargo'].'</option>';
    }

?>

</select>
3hvapo4f

3hvapo4f3#

我终于发现了问题所在。我的文件名是.html而不是.php,这就是为什么什么都不起作用。
希望这能帮助其他像我这样的新手
干杯!

相关问题