簡體   English   中英

如何從另一個表的下拉列表中插入所選名稱的ID?

[英]How to insert ID of a selected name from drop down list in another table?

我正在建立一個新的簡單網站,它有兩個MySQL表:

Client_table:

ID      Client_name
1      Alex
2      Bob
3      Clara

Order_table:

ID      Client_name
1     Bob
2     Clara
3     Bob

使用以下PHP代碼, Client_nameClient_name的下拉列表Client_table ,並將其添加到Order_table

<?php
require('db.php'); \\$con = mysqli_connect('host', 'user', 'pass', 'db');
$status = "";
if(isset($_POST['new']) && $_POST['new']==1){
$client_name =$_REQUEST['client_name'];
$ins_query="insert into Order_table (`Client_name`) values ('$Client_name')";
mysqli_query($con,$ins_query) or die(mysql_error());
$status = "Added Successfully";
}
?>
<form name="form" method="post" action="">
    <select type="text" name="Client_Name" />
        <?php
        $result = $con->query("select * FROM Client_table");
        while ($row = $result->fetch_assoc())
            { echo "<option value='".$row['id']."'>".$row['Client_name']."</option>";}
        ?>
    </select>
    <p>
        <input class="btn" name="submit" type="submit" value="Add" />
    </p>
</form>

如何在Order_table中插入Client的ID作為Client_id?

*新訂單表:

ID      Client_id      Client_name
1        2              Bob
2        3              Clara
3        2              Bob

在執行INSERT以獲得客戶端ID時,可以從Client_table中選擇。 您還應該使用准備好的語句來防止SQL注入。

$ins_query= "INSERT INTO Order_table (Client_name, Client_id)
            SELECT Client_name, Client_id
            FROM Client_table
            WHERE Client_name = ?";
$ins_stmt = $con->prepare($ins_query) or die($con->error);
$ins_stmt->bind_param("s", $Client_name);
$ins_stmt->execute() or die($ins_stmt->error);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM