У меня есть вопрос о выпадающем списке в 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 — это цвет, который вы получили из БД. Затем используйте следующий код, чтобы установить выпадающий список.
$("#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>
Это упрощено. Вместо этого вы можете использовать идентификаторы цвета в качестве значений параметра и просто выводить названия цветов в видимой части раскрывающегося списка.