Array naar sql tabel
Ik heb een array met daarin verschillende arrays zoals:
Array (
[0] => Array (
[id] => 20
[aantal] => 1
)
[1] => Array (
[id] => 35
[aantal] => 1
)
[2] => Array (
[id] => 34
[aantal] => 1
)
[3] => Array (
[id] => 33
[aantal] => 1
)
[4] => Array (
[id] => 32
[aantal] => 1
)
)
Nu wil ik dat als iemand dus deze producten bestelt dat dat in de database komt. Wat is denken jullie de makkelijkste manier om dit in de database te zetten? Het kunnen ook meer dan 4 arrays zijn.
Mocht je nog geen tabellen in je database hebben gemaakt, tip: maak een koppeltabel aan je order-tabel waar je vervolgens de producten in plaatst.
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
foreach($myArray as $row)
{
$query = "INSERT INTO mytable (id, aantal) VALUES ('" . $row['id'] . "', '" . $row['aantal'] . "')";
// query uitvoeren
}
?>
foreach($myArray as $row)
{
$query = "INSERT INTO mytable (id, aantal) VALUES ('" . $row['id'] . "', '" . $row['aantal'] . "')";
// query uitvoeren
}
?>
Toevoeging op 03/11/2014 23:11:37:
Met mysqli kun je ook met een multiquery werken:
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
$query = '';
foreach($myArray as $row)
{
$query .= "INSERT INTO mytable (id, aantal) VALUES ('" . $row['id'] . "', '" . $row['aantal'] . "'); ";
}
mysqli_multi_query($link, $query);
?>
$query = '';
foreach($myArray as $row)
{
$query .= "INSERT INTO mytable (id, aantal) VALUES ('" . $row['id'] . "', '" . $row['aantal'] . "'); ";
}
mysqli_multi_query($link, $query);
?>
En dan bij elk item het id. zetten van de order zodat elke order bij elkaar blijft?
Ja. een beetje order systeem heeft een tabel orders waarin een orderid, customerid en een orderdatum komt te staan.
Daarnaast een tabel orderrules of orderitems (whatever) waarin elk record een artikel is.
Deze tabel heeft inderdaad per regel ook een foreign key orderid.
Je moet heel goed nadenken over je database model. Denk bijvoorbeeld na over wat er gebeurt als later een artikel niet meer leverbaar is. Wat zou er gebeuren als een gebruiker die uit de database verwijderd?
Gewijzigd op 04/11/2014 10:53:53 door Frank Nietbelangrijk