如何从数据库中选择<select>语句?

Chu*_*d37 -1 html php mysql database

我不太确定如何正确地说出这个问题 - 但这仅仅是出于兴趣.我不得不从数据库加载信息并使用值预先填充表单.所以在文本框的情况下,它很简单,我只需设置值:

<input type="text" value="<?=$foo;?>" name="foobar">

然而,当我选择框时,我发现我的代码变得非常草率,因为我需要selected在某处放置一个值.所以我真的有两种选择,我不喜欢这两种选择:

$one = $two = "";
switch ($myval) {
  case "1": $one = " selected";
  case "2": $two = " selected";

}
Run Code Online (Sandbox Code Playgroud)

然后在HTML中:

<select name="myval">
<option value="1"<?=$one;?>>One</option>
<option value="1"<?=$two;?>>Two</option>
</select>
Run Code Online (Sandbox Code Playgroud)

或者另一种选择是在select中间放置一个简写if语句:

<select name="myval">
<option value="1"<?=($myval=="1") ? " selected" : "";?>>One</option>
<option value="1"<?=($myval=="2") ? " selected" : "";?>>Two</option>
</select>
Run Code Online (Sandbox Code Playgroud)

看起来稍微干净一点,但它仍然让我烦恼.

任何人都有更有效率的方法吗?当它只是一个Yes/No下拉框而且我必须为每个值编写愚蠢的if语句时,它更加难以理解.

同样的问题也适用于复选框.

Que*_*tin 5

在输出中创建包含所需数据的数组.绕过它.为其中的每个项生成一个选项元素.