Ich versuche, eine abgeschlossene Bestellung in einer Tabelle namens Aufträge in einer Datenbank zu speichern. In der Datenbank zeigt die Auftragstabelle nur das letzte Produkt an, aber ich brauche es, um alle Produkte in der Bestellung anzuzeigen.Wie Sie mehr als einen Wert in eine Datenbankspalte eingeben
unten in dem Code ($ query2) packt es alle IDs der Produkte, die in den Benutzern Warenkorb sind. (Es gibt zwei Produkte im Warenkorb)
ich sie dann eine while-Schleife verwenden, um anzuzeigen, aber wenn ich versuche, sie in die Tabelle orders ($ query3) mit der Variablen $ pro_id einzufügen, nimmt sie nur das letzte Produkt im Warenkorb und gibt es in die Datenbank ein.
Wie bekomme ich beide Produkte in die Bestellungstabelle? Muss ich irgendwie ein Array verwenden? Oder gibt es eine andere Möglichkeit, dies zu tun?
Danke!
$ip = getIp();
$query = "SELECT * FROM cart WHERE ip='$ip'";
$result = mysqli_query($conn, $query);
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
$id = $row['id'];
$pro_qty = $row['quantity'];
$query2 = "SELECT * FROM product WHERE id='$id'";
$result2 = mysqli_query($conn, $query2);
if(mysqli_num_rows($result2) > 0){
while ($row = mysqli_fetch_array($result2)){
$pro_id = $row['id'];
}
}
}
}
if(isset($_POST['placeOrder'])){
$query3 = "INSERT INTO orders (productId) VALUES ('$pro_id')";
$result3 = mysqli_query($conn, $query3);
}
}
Sie können mehrere Werte in einer Spalte eingeben. Sie gestalten es so um, dass jede Spalte nur einen Wert hat. Siehe http://stackoverflow.com/questions/3653462/is-storing-a-delimited-list-in-a-database-column-really-that-bad – Mike