如何从mysql中获得选定的值到下拉列表


How to get selected value from mysql to dropdown list?

我有关于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作为选项的值,而只是在下拉菜单的可见部分输出颜色名称。