如何自动选择从数据库中获取的保存值以选择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之外的所有酒店名称和房型。如何实现此效果,请提供一些代码。 谢谢
答案 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>
中编写获取代码是一种不好的做法,如果有任何问题,公开您的数据库字段名称。