Как автоматически выбрать значение сохранения из базы данных, чтобы выбрать тег HTML - PullRequest
1 голос
/ 03 апреля 2019

Как автоматически выбрать значение сохранения, извлеченное из базы данных, для выбора тега HTML.

У меня есть список номеров с названием отеля, типом номера, удобствами, описанием в таблице.Я хочу отредактировать эту запись.когда я нажимаю кнопку редактирования, он выбирает room_id для соответствующего редактирования строки, все остальные значения автоматически выбираются автоматически в текстовых полях, кроме значений в теге select.

Вот мой код для извлечения значений из базы данных и отображения в соответствующих текстовых полях, кромевыберите поле.Я хотел бы автоматически выбрать значение в поле выбора.

$query = "SELECT * from room where room_id = '$id'";

$result = mysqli_query($connection, $query) or die ( mysqli_error());
 while($row=mysqli_fetch_assoc($result))
  { 
       $room_id=$row['room_id'];
        $room_type_id=$row['room_type_id'];
        $facilities = $row['facilities'];
        $long_description=$row['long_description'];
}
         ?>

                  <form action="Edit_Room_Script.php" method="post"  enctype="multipart/form-data">


                <label class="form-label">Hotel Name</label> 
<select class="form-control" name="name" id="name">
<?php
$sel_cus = "select hotel_name from hotels ";
$res_cus = mysqli_query($connection, $sel_cus);
while ($row = mysqli_fetch_array($res_cus)) {?>
<option value="<?php echo $row['hotel_id'];?>"><?php echo $row['hotel_name'];?></option><?php}?>
</select>

<label class="form-label">Room Type</label> 
<select class="form-control" name="room_type" id="room_type">
<?php
$sel_cus = "select Room_Type_Id,Room_Type_Name from room_type ";
$res_cus = mysqli_query($connection, $sel_cus);
while ($row = mysqli_fetch_array($res_cus)) {?>
<option value="<?php echo $row['Room_Type_Id'];?>">
<?php echo $row['Room_Type_Name'];?></option>
<?php
} 
?>
</select>
<label class="form-label">Facilities</label> 
<input class="form-control" type="text" id="facilities" value="<?php echo $facilities;?>" name="facilities" autocomplete="Off"  required >

<button class="btn btn-success btn-cons" type="submit" name="update" id="update"> Update Room</button>
</form>

У меня есть строка в моей HTML-таблице, как показано ниже

Sr Название отеля Roomtype Facility Action

1Serena Super ABC Edit

Когда я нажимаю кнопку «Изменить», мне требуется отредактировать, откуда значение объекта автоматически извлекается из базы данных и устанавливается в текстовом поле, но название отеля и тип номера не установлены.В теге select для названия отеля и типа номера он заполняет все название отеля и тип номера, кроме serena и super. Как мне этого добиться? Пожалуйста, укажите некоторый код.Спасибо

1 Ответ

1 голос
/ 03 апреля 2019

Некоторые модификации:

1) Получить $hotel_id

2) Чтобы показать выбранный элемент <select>, необходимо добавить атрибут selected="selected" в тег <option>.

Если у вас есть раскрывающийся список HTML:

<select class="form-control" name="room_type" id="room_type">
<option value="1">Villa</option>
<option value="2">Terrace</option>
<option value="3" selected="selected">Gallery</option>
<option value="4">Delux</option>
</select>

Выпадающий список покажет Gallery выбранный.

В вашем случае вы можете показать его следующим образом:

<?php
$sel_cus = "select Room_Type_Id,Room_Type_Name from room_type ";
$res_cus = mysqli_query($connection, $sel_cus);
while ($row = mysqli_fetch_array($res_cus)) {?>
<option value="<?php echo $row['Room_Type_Id'];?>"
<?php if ($room_type_id == $row['Room_Type_Id']) { echo 'selected="selected"';}?>>
<?php echo $row['Room_Type_Name'];?></option>
<?php
} 
?>

3) Кроме того, сначала выберите массивы из базы данных, а затем зациклите их в элементе <select>, так как запись кода выборки непосредственно в <select> являетсяплохая практика, и в случае возникновения каких-либо проблем, это может привести к раскрытию имен полей вашей базы данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...