Ik gebruik onderstaande foreach loop en query om een winkelmandje weg te schrijven. De foreach loop wordt uitgevoerd en loopt 2 keer als er 2 producten in staan, 3 keer als er 3 producten in staan enz. Dit werkt dus.
Alleen wordt de query slechts een keer uitgevoerd en dus wordt het productnummer dat het laatste is toegevoegd aan het winkelwagentje alleen in de database weggeschreven.
Wie weet er wat ik verkeerd doe?
Dit genereert deze output:
Het invoeren van 151 is gelukt
Het invoeren van 127 is gelukt
INSERT INTO orderinformatie (Order_id, Productnummer, ProdVariantenId, Hoeveelheid, Geleverd) VALUES ('0', '127', '', '1', '-1')
Alleen wordt de query slechts een keer uitgevoerd en dus wordt het productnummer dat het laatste is toegevoegd aan het winkelwagentje alleen in de database weggeschreven.
Wie weet er wat ik verkeerd doe?
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
| print count($_SESSION['winkelwagen']); foreach ($_SESSION['winkelwagen'] as $productnummer => $quantity) { $qbestelregel = "INSERT INTO orderinformatie (Order_id, Productnummer, ProdVariantenId, Hoeveelheid, Geleverd) VALUES ('$Order_id', '".$productnummer."', '".$_SESSION["ProdVariantenId"]."', '$quantity', '-1')"; //$result_qbestelregel = mysql_query($qbestelregel) or die (mysql_error()); print "Het invoeren van ".$productnummer." is gelukt<br>"; } |
Dit genereert deze output:
Het invoeren van 151 is gelukt
Het invoeren van 127 is gelukt
INSERT INTO orderinformatie (Order_id, Productnummer, ProdVariantenId, Hoeveelheid, Geleverd) VALUES ('0', '127', '', '1', '-1')