Dropdown и MySQl

0

У меня есть раскрывающийся список, который я динамически заполняю из 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. Я предполагаю, что он не помещает значение как выбранное, потому что оно заполняется динамическим. Теперь мне нужно изменить код, поэтому, когда я его выбираю, он должен быть отмечен как выбранный

  • 0
    где вы храните выбранное значение? Например, если вы сохраняете выбранное значение в переменной, вы можете сделать <option value="My School"<?php if ($row[school_name] == $var_name) echo ' selected="selected"'; ?>>My School</option>
  • 0
    Я обновил Q. спасибо за вклад
Теги:

1 ответ

1
Лучший ответ

Я бы использовал повторную функцию для сравнения значения со значением строки

<?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>
  • 0
    Я обновил Q. спасибо за вклад
  • 0
    Проверьте опечатку выбранного тега: "name =" school_name "
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню