使用PHP选择选项

时间:2014-03-11 10:43:17

标签: php select option

我遇到问题,我想从数据库中获取值,如果值与我选项中的值匹配,则应选择该选项。

这是我的表格:

<!-- 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子句。

提前致谢。

克里斯蒂安

5 个答案:

答案 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;