在表单中将"选择<option>"设置为"选定项"



我有一个表单,可以在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>,默认情况下根据数据库中已经设置的值进行选择。因此,如果用户选择编辑汽车,假设一辆已经在数据库中填写了运动类型的汽车,我希望表单自动将<option value="sport">Sports car</option>设置为选中,<option selected="selected" value="sport">Sports car</option>。如果不这样做,用户必须在每次提交表单时再次选择类型,否则第一个<option>及其值(运动)将通过 POST 发送。

我能够使用 $data['type'] 从数据库中检索值,但我没有找到确切的 php 代码来将所选<option>设置为数据库中的值,你们能帮忙吗?

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

<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>
<option value="large" <?php echo ($dbvalue=="large") ? "selected="selected"" : "" ;?>>Large family sedan</option>

自己计算 sql 查询位并将我的$dbvalue替换为数据库中的列数据

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

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

最新更新