我遇到问题,我想从数据库中获取值,如果值与我选项中的值匹配,则应选择该选项。
这是我的表格:
<!-- Select Basic -->
<div class="form-group">
<label class="col-md-4 control-label" for="tidspunkt_varighed">Vælg Antal Timer</label>
<div class="col-md-4">
<select id="tidspunkt_varighed" name="tidspunkt_varighed" class="form-control">
<option value="1">1 Time</option>
<option value="2">2 Timer</option>
<option value="3">3 Timer</option>
<option value="4">4 Timer</option>
</select>
</div>
</div>
我不想每行都有一个if子句。
提前致谢。
克里斯蒂安
答案 0 :(得分:4)
您应该使用循环,因为在检查值的循环内部使用if()
进行检查时,您的值是增量值。
答案 1 :(得分:1)
<?php
$options = '';
$valueFromDb = 1;
for($i = 1;$i<=4 ; $i++)
{
if( $i == $valueFromDb) {
$options .= '<option value="'.$i.'" selected="selected">'.$i.'Time</option>';
} else {
$options .= '<option value="'.$i.'" >'.$i.'Time</option>';
}
}
?>
<div class="form-group">
<label class="col-md-4 control-label" for="tidspunkt_varighed">V�lg Antal Timer</label>
<div class="col-md-4">
<select id="tidspunkt_varighed" name="tidspunkt_varighed" class="form-control">
<?php echo $options;?>
</select>
</div>
</div>
答案 2 :(得分:0)
我想,你可以像这样使用数组:
<?
$value=YOUR_VALUE_FROM_DB
$selected[$value]="selected";
?>
<option value="1" <?=$selected[1]?>>1 Time</option>
<option value="2" <?=$selected[2]?>>2 Timer</option>
等
答案 3 :(得分:0)
如果您没有使用循环显示这些选项,那么您必须将if放在每个选项中,如
<option value="1" <?php if($dbvalue == 1){echo 'selected="selected"';}>1 Time</option>
如果您使用循环显示选项,您可以在循环中放置一个条件并生成一个字符串 $ selected ='selected =“selected”'; 根据条件,以及每个选项选择的echo $。
答案 4 :(得分:0)
$val_from_db = 3;
$output = '<!-- Select Basic -->
<div class="form-group">
<label class="col-md-4 control-label" for="tidspunkt_varighed">Vælg Antal Timer</label>
<div class="col-md-4">
<select id="tidspunkt_varighed" name="tidspunkt_varighed" class="form-control">';
foreach( $values as $key=>$value ) {
if ( $key==$val_from_db )
$selected = 'selected="selected" ';
else
$selected = '';
$output .= '<option '.$selected.'value="'.$key.'">'.$value.'</option>';
}
$output .= '</select>
</div>
</div>';
echo $output;