Как сделать запись в бд вместо textarea замена на option select?

<td>
    <textarea class="form-control" name="comment[]" rows="1"><?php echo $row['teacher_comment'];?></textarea>
    <input type="hidden" name="answer_id[]" value="<?php echo $row['id'];?>">
</td>

Вот что имеется на данный момент: это коммент, в который вписывается значение и хранится в нем после сохранения. Подскажите, пожалуйста, как реализовать это корректно, чтобы это был выпадающий список options select из значений "true/false". Если не трудно, то сможете показать наглядно на коде) Заранее прекрайне благодарен!


Ответы (1 шт):

Автор решения: Denis640Kb

Делаем поле select в котором указываем проверку.
Если данные $row['teacher_comment'] равны True, то делаем соответствующее поле option выбранным.
Тоже самое со вторым полем.
И получаем данные выбранного поля select по имени.

<?php
$row['teacher_comment'] = ""; // Здесь получаем значение поля, либо из сессии, из БД или другими способами.
?>
<form method="post" action="">
    <select id="sel" name="sel">
        <option></option>
        <option value="True" <?php if ($row['teacher_comment'] == "True"){ echo 'selected';}?>>Сдал</option>
        <option value="False" <?php if ($row['teacher_comment'] == "False"){ echo 'selected';}?>>Не сдал</option>
    </select>
    <input type="hidden" name="answer_id[]" value="<?php echo $row['id'];?>">
    <button name="but" formmethod="post">Сохранить</button>
</form>

<?php
// Добавляем форму для отправки данных.
// Если необходимо обрабатывать другим файлом, то указываем этот файл в action

if(isset($_POST['sel'])){ // Если Поле с именем sel выбрано, то получаем данные.
    $row['teacher_comment'] = $_POST['sel'];
} else { // Если данные не введены, то проставляем пустое значение.
    $row['teacher_comment'] = "";
}
→ Ссылка