如何自动选择数据库中的保存值以选择HTML标记

时间:2019-04-03 05:36:25

标签: php html mysqli

如何自动选择从数据库中获取的保存值以选择HTML标记。

我在一个表中列出了带有酒店名称,房间类型,设施,描述的房间。我想编辑该记录。当我单击“编辑”按钮时,它会提取room_id进行相应的编辑,除选择标记中的值外,其他所有值均已成功自动在文本框中自动提取。

这是我的代码,用于从数据库中获取值并回显到相应的文本框(选择框除外)。我想在选择框中自动选择值。

$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表中有一行,如下所示

高级酒店名称房型设施动作

1个Serena超级ABC编辑

当我单击“编辑”按钮时,我需要从成功从数据库自动获取设施值的位置进行编辑,并在文本框中进行设置,但未设置酒店名称和房型。在用于酒店名称和房型的选择标签中,它将填充除serena和super之外的所有酒店名称和房型。如何实现此效果,请提供一些代码。 谢谢

1 个答案:

答案 0 :(得分:1)

一些修改:

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>中编写获取代码是一种不好的做法,如果有任何问题,公开您的数据库字段名称。