1

我有一个表格,可以在 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 中填写了 Sports 类型的汽车,我希望表单自动将其设置<option value="sport">Sports car</option>为选中,<option selected="selected" value="sport">Sports car</option>. 如果不这样做,用户每次提交表单时都必须再次选择类型,否则第一个<option>及其值(运动)将通过 POST 发送。

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

4

3 回答 3

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>
于 2013-11-13T15:24:59.253 回答
0
<option value="large" <?php echo ($dbvalue=="large") ? "selected=\"selected\"" : "" ;?>>Large family sedan</option>

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

于 2013-11-13T15:24:03.360 回答
0

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

foreach ($car_types as $car_type){
    echo '<option value="'.$car_type.'" '.($data['type']==$car_type?'selected':'').'>'.$car_type.'</option>';
}
于 2013-11-13T15:26:22.890 回答