如何从MySQL数据库中创建具有选定值的HTML select



我有一个名为person的表,其列名为language。

我还有另一个表叫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
}
?>

我找到了一个解决方案。

<?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
}
?>

最新更新