我有这段代码
<?php
include 'dbconnect.php'; ?>
<head>
</head>
<body>
<form method="post" action="<?php echo $_SERVER["PHP_SELF"]?>">
<input type="text" name="product_name"/>
<input type="text" name="product_price" />
<select name="product_cat">
<?php
$results = $connect->query("SELECT * FROM categories ORDER BY cat_name");
while($row = $results->fetch_array()) {
extract($row);
echo "<option value='"."{$cat_name}"."'>"."{$cat_name}"."</option>";
}
$results->free();
?>
</select>
<input type="submit" name="submit" value="Submit">
</form>
<?php
if($_POST){
$sql = "INSERT INTO products (prd_name, prd_price, cat_id) VALUES(?,?,?)";
if($stmt = $connect->prepare($sql) )
{
$productname = $_POST['product_name'];
$productprice = $_POST['product_price'];
$productcat = $_POST['product_cat'];
$stmt->bind_param("sii", $productname, $productprice, $productcat);
if($stmt->execute())
{
echo "Created";
$stmt->close();
}else{
die("Unable to create category.");
}
}else{
die("Unable to prepare statement.");
}
$connect->close();
}
?>
</body>
</html>
此处从名为categories的表中调用类别名称。您可以在下拉列表中看到代码。一旦用户选择了类别名称,填写产品名称和产品价格,表单将所有三个数据保存到名为products的表中。
还有第三个名为category_product的表,其中包含两列prd_id和cat_id(产品ID和类别ID)。我需要将此产品的ID和类别以及此表格记录到此表中。
简而言之,如何仅在回显名称时从类别表中获取类别ID,以及如何知道产品的上次保存ID,然后将这两个记录插入到第二个(category_products)表中同一时间。
答案 0 :(得分:1)
您可以从第一个语句中获取insert_id以在第二个语句中使用。这里有一些伪代码来帮助你
if($stmt->execute()) {
$record_id = $stmt->insert_id;
$sql = "INSERT table2(data, table1_id) VALUES($someval, $record_id)";
// Run the query here
}