У меня есть раскрывающийся список, который я динамически заполняю из mysql. Когда я сохраняю информацию в mysql, он не сохраняет значение выпадающего списка. Как установить выбранное значение для динамического раскрывающегося списка. Здесь используется код для заполнения раскрывающегося списка. Как установить выбранное значение при изменении в php
echo "<option value=\"" . utf8_encode($row['school_name']) . "\">" . utf8_encode($row['school_name']) . "</option>";
У меня проблемы с настройкой правильного формата с использованием этого примера
<option value="My School"<?php if ($row[school_name] == 'My School') echo ' selected="selected"'; ?>>My School</option>
Где моя школа должна быть значением, занесенным из базы данных
Хорошо
<select id="school_name" "name="school_name" style="width:200px;" name="school_name">
<option selected="">Select Province School</option>
</select>
я затем заполните раскрывающийся список следующим.
$sql="SELECT * FROM ppSD_schools where province_code ='".$_POST['c_id']."'";
$res = $conn->query($sql);
$num_rows = $res->num_rows;
if($num_rows > 0) {
echo "<option value=''>------- Select --------</option>";
while($row = $res->fetch_assoc())
{
?>
echo "<option value=\"" . utf8_encode($row['school_name']) . "\">" . utf8_encode($row['school_name']) . "</option>";
}
Но когда я выбираю другую школу. он не сохраняет значение, выбранное в MySql. Я предполагаю, что он не помещает значение как выбранное, потому что оно заполняется динамическим. Теперь мне нужно изменить код, поэтому, когда я его выбираю, он должен быть отмечен как выбранный
Я бы использовал повторную функцию для сравнения значения со значением строки
<?php
function selected($a, $b) {
return ($a === $b) ? ' selected' : '';
}
?>
<option name="school" value="My School" <?= selected($row["school_name"], "My School"); ?>>My School</option>
<option name="school" value="Your School" <?= selected($row["school_name"], "Your School"); ?>>Your School</option>
<option value="My School"<?php if ($row[school_name] == $var_name) echo ' selected="selected"'; ?>>My School</option>