将select <option>设置为在表单</option>中选择

时间:2013-11-13 15:20:50

标签: php html

我有一个表单,它在mysql数据库中插入一些数据。 此表单包含一个选项和一些选项及其各自的值,如

<select name="car_type">
   <option value="sport">Sports car</option>
   <option value="van">Van</option>
   <option value="large">Large family sedan</option>
   <option value="small">Small city car</option>
</select>

该表单还可用于更新数据库中汽车的详细信息,它通过从数据库加载值并自动填充表单来实现,但我坚持在选择中进行<option>,选中默认情况下,基于DB中已设置的值。 因此,如果用户选择编辑汽车,可以说已经在数据库中填充了运动类型的汽车,我希望表单自动将<option value="sport">Sports car</option>设置为所选,<option selected="selected" value="sport">Sports car</option>。如果不这样做,用户每次提交表单时都必须再次选择类型,否则第一个<option>及其值(运动)将通过POST发送。

我可以使用$ data ['type']从数据库中检索值,但是我找不到确切的php代码来将选定的<option>设置为数据库中的那个,你们可以帮忙吗? ?

3 个答案:

答案 0 :(得分:1)

虽然代码看起来很乱,但你可以这样做:

<select name="car_type">
   <option value="sport" <?php if($data['type']=='sport') echo "selected='selected'"; ?> >Sports car</option>
   <option value="van" <?php if($data['type']=='van') echo "selected='selected'"; ?>>Van</option>
   <option value="large" <?php if($data['type']=='large') echo "selected='selected'"; ?>>Large family sedan</option>
   <option value="small" <?php if($data['type']=='small') echo "selected='selected'"; ?>>Small city car</option>
</select>

答案 1 :(得分:0)

<option value="large" <?php echo ($dbvalue=="large") ? "selected=\"selected\"" : "" ;?>>Large family sedan</option>

自己计算sql查询位,并用db

中的列数据替换$ dbvalue

答案 2 :(得分:0)

如果您正在尝试标记活动车型,我会这样做:

foreach ($car_types as $car_type){
    echo '<option value="'.$car_type.'" '.($data['type']==$car_type?'selected':'').'>'.$car_type.'</option>';
}