我正在建立一个新的简单网站,它具有两个MySQL表:
Client_table:
ID Client_name
1 Alex
2 Bob
3 Clara
订单表:
ID Client_name
1 Bob
2 Clara
3 Bob
使用以下PHP代码,Client_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>
如何在Client_table中插入Client的ID作为Client_id?
*新的订单表:
ID Client_id Client_name
1 2 Bob
2 3 Clara
3 2 Bob
答案 0 :(得分:0)
在执行Client_table
时,您可以从INSERT
中进行选择以获取客户ID。您还应该使用准备好的语句来防止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);