我正在使用MySQL开发PHP的酒店预订系统。
我想知道如何在数据库中插入主键值而不是名称。用户从下拉列表中选择酒店名称,而不是将酒店名称放入数据库中,我想插入hotel_id
。
我有一个名为ADD New room的页面,用户将在其中添加新房间。
与添加新房间页面有关的表是:MySQL中的房间
在该页面中,我有一个表单,用户必须从一个选择标签中选择酒店名称,该选择标签是从名为酒店的数据库表中动态填充的。
我要在房间表中插入与所选酒店名称对应的外键hotel_id
下面是显示选择标签的代码,其中填充了酒店名称。
<div class="form-group">
<label class="form-label">Hotel Name</label>
<select class="form-control" name="name" id="name">
<?php
$sel_cus = "select * from hotels ";
$res_cus = mysqli_query($connection, $sel_cus);
while ($row = mysqli_fetch_array($res_cus)) {
?>
<option value="<?php echo $row['hotel_name']; ?>"><?php echo $row['hotel_name']; ?></option>
<?php
}
?>
</select>
</div>
当我使用以下代码在数据库中插入房间记录时,它会插入酒店名称而不是hotel_id
。我想在hotel_id
表中插入room
。
请用代码示例指导我。谢谢
if (isset($_POST['submit'])) {
$hotel_name = $_POST['name'];
$date = date('m-dd-yy');
$query = "INSERT INTO room (Hotel_Id, date)
VALUES ('$hotel_name ','$date')";
}
答案 0 :(得分:3)
您需要使用选项值。当前,您正在使用hotel_name作为选项值,将其更改为hotel_id,就可以了。
<option value="<?php echo $row['hotel_id']; ?>"><?php echo $row['hotel_name'];?></option>