首页 > 解决方案 > 如何使用 MySQL 数据库中的选定值创建 HTML 选择?

问题描述

我有一个person名为语言列的表。

而且我还有另一张桌子叫language_table

CREATE TABLE language_table (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    designation VARCHAR(30) NOT NULL
)

它包含:

1 - english
2 - frensh
3 - arabic
4 - other

我想将这 4 条记录放入一个<select选项中。

我已经创建了这段代码,它工作得很好,但我不知道如何<select>使用数据库中的值添加另一个。

如何从 DB 中获取选定的值<option>

<?php
$query = mysqli_query($con, "SELECT * FROM person WHERE id=$id");
while ($result = mysqli_fetch_object($query, $con)) {
?>
<select name="sexe">
<?php
    if ($result->sexe == 'Masculin') {
        echo"<option value='Masculin' Selected>Masculin</option>";
        echo"<option value='Féminin' >Féminin</option>";
    } else {
        echo"<option value='Masculin' >Masculin</option>";
        echo"<option value='Féminin' Selected>Féminin</option>";
    } ?>
</select>
<?php
}
?>

标签: phphtmlhtml-select

解决方案


我找到了解决方案。

<?php
    $stmt = $con->prepare("SELECT * FROM person WHERE id=?");
    $stmt->bind_param("s", $id);
    $stmt->execute();
    $query = $stmt->get_result();
    while ( $result = mysqli_fetch_object($query)) 
    {
?>
<select>
<select name="language">
<?php
    $sql = mysqli_query($con, "SELECT designation FROM language_table");
    while($row = mysqli_fetch_object($sql))
    {
        if($row->designation == $result->language)
        {
            ?>
            <option value="<?php echo $row->designation;?>" SELECTED><?php echo $result->language;?></option>
            <?php
        }else{
            ?>
            <option value="<?php echo $row->designation;?>" ><?php echo $row->designation;?></option>
            <?
        }
    }
?>
  </select>
<?php
}
?>

推荐阅读