我还没有确定如何正确地说出问题 - 但这只是出于真正的兴趣而已。不断,我不得不从数据库加载信息,并预先填充一个表单。因此,在文本框的情况下,它很容易,我只需设定值:如何从数据库中选择<select>语句?
<input type="text" value="<?=$foo;?>" name="foobar">
然而,当我来选择框中找到我的代码变得相当草率,因为我需要放置selected
值某处的线路。因此,其实我有两个选择,这两者我不喜欢:
$one = $two = "";
switch ($myval) {
case "1": $one = " selected";
case "2": $two = " selected";
}
然后在HTML:
<select name="myval">
<option value="1"<?=$one;?>>One</option>
<option value="1"<?=$two;?>>Two</option>
</select>
或另一个选项是将一个速记,如果在选择的中间声明:
<select name="myval">
<option value="1"<?=($myval=="1") ? " selected" : "";?>>One</option>
<option value="1"<?=($myval=="2") ? " selected" : "";?>>Two</option>
</select>
看起来稍微更干净,但它仍然让我感到困扰。
任何人有这样做的任何多比较有效的方法呢?当它仅仅是一个Yes/No
下拉框,我必须为每个值写愚蠢的if语句。
同样的问题也适用于复选框。
IF语句不'在这种情况下stupid' – Gntem 2012-08-07 10:46:42
它只是似乎有点对于这样一个简单的任务来说是漫长而无意义 – Chud37 2012-08-07 10:48:09
我认为你指定的最后一个选项更好 – WatsMyName 2012-08-07 10:48:29