我有关于php使用mysql填充下拉列表的问题。我将尽可能清楚地描述它。
首先,表
| Cars | | Colors |
-------------------------------- ---------------------
|car_id| name | color_id | |color_id|color_name|
-------------------------------- ---------------------
| 01 | BMW | c1 | | c1 | Silver |
| 02 | Audi | c2 | | c2 | Black |
| 03 | Chevrolet | c3 | | c3 | White |
我已经创建了将汽车数据输入到cars
表的表单。在这种形式下,我创建了一个下拉列表来获得color_name
,保存它是没有问题的。问题是如何在使用下拉表的更新表单上选择color_name
?
如果selected_color是你从DB得到的颜色。然后使用以下代码设置下拉列表。
$("#dropDownList").val(selected_color);
这可能就是你要找的…
<select name="color" id="color">
<?php do { ?>
<option value="<?php echo $row['color_id'] ?>" <?php if (!(strcmp($row['color_id'], $row_rsEdit['color_id']))) {echo "selected='"selected'"";} ?>><?php echo $row['color_name'] ?></option>
<?php } while ($row = $rsColors->fetch(PDO::FETCH_ASSOC)); ?>
</select>
这是你要找的吗?
<select>
<option selected>Silver</option>
<option>Black</option>
</select>
要动态地获取,可以这样做:
<select>
<?php foreach($colors as $color): ?>
<option <?php echo ($color == $theActualSelectedColor) ? 'selected' : ''; ?>><?php echo $color ?></option>
<?php endforeach; ?>
</select>
这是简化的。你可能想使用颜色id作为选项的值,而只是在下拉菜单的可见部分输出颜色名称。