我正在为一家餐厅申请(使用php和pdo)。我需要插入订单。我在一个输入字段中遍历了一些您可以订购的产品,因此您可以选择要订购的产品数量。但是我不知道如何在多个记录中插入。例如。我要订购1可乐和1百事可乐。它需要创建2条记录。
我试图发布数据,但没有任何反应
if (isset($_POST["addbestelling"])){
global $db;
$gerechtid = htmlspecialchars($_POST["GID"]);
$aantal = htmlspecialchars($_POST["aantalG"]);
$sql = "INSERT INTO bestelling(GerechtID, Aantal) VALUES (:gerechtid,:aantal)";
$stmt = $db->prepare($sql);
$data = array("gerechtid" => $gerechtid, "aantal" =>$aantal);
try {
$stmt->execute($data);
echo "<script>alert('Succesvol geplaatst!');</script>";
}
catch (PDOException $e) {
echo $e->getMessage();
}
}
$voorgerecht = "
SELECT g.*
, s.Subgerecht
FROM gerecht g
LEFT
JOIN subgerecht s
ON s.GerechtID = g.GerechtID
WHERE s.Subgerecht = 'Voorgerecht';
";
foreach($db->query($voorgerecht) as $vg){
<div class="name-price row">
<p class="pr10">Gerecht</p>
<p class="pr10">€Prijs</p>
<?php
<input type="number" class="form-control" name="aantalG" placeholder="Aantal">
<input type="hidden" name="GID" value="<?php echo $vg["GerechtID"];?>">
}
?>
<input type="submit" name="addbestelling" class="btn btn-dark" value="Voeg toe">
因此,我填写了要订购的产品数量,但是提交时什么也没发生
答案 0 :(得分:0)
您可以制作“ gerecht aantallen”的数组。
<input type="number" class="form-control" name="aantalG[<?php echo $vg["GerechtID"];?>]" placeholder="Aantal">
这样,您将在$_POST['GerechtID']
中获得一个可以循环访问的数组。例如:
foreach($_POST['GerechtID'] as $gerechtId => $aantal) {
echo $gerechtId . ' x ' . $aantal; // save row here.
}
要使用PDO一次插入多个值,请检出: PDO Prepared Inserts multiple rows in single query