如何在数据库中插入主键而不是名称列

时间:2019-04-02 12:08:53

标签: php

我正在使用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')";
}

1 个答案:

答案 0 :(得分:3)

您需要使用选项值。当前,您正在使用hotel_name作为选项值,将其更改为hotel_id,就可以了。

<option value="<?php  echo $row['hotel_id']; ?>"><?php   echo $row['hotel_name'];?></option>