Ik heb een sessie winkelwagen, daarin staan 3 producten!
Nu pak ik deze sessie uit met foreach()
Nou wil ik deze drie producten die nu uit de sessie worden getoond
met een INSERT INTO query in een tabel in de phpmyadmin database stoppen
Maarrr, hij maakt nu gewoon 3 nieuwe rijen aan in de tabel orders met dus drie nieuwe
order_id, maar hij moet gewoon 1 nieuwe rij aanmaken met in die rij die drie artikelen (artikel_id)
Snap je wat ik bedoel? Dit is een veel nettere oplossing, en wanneer iemand dan een rij wil verwijderen (lees: een product niet wil bestellen) is het mogelijk om die rij te verwijderen.
Johan, kijk nog eens naar mijn post, dat werkt veel beter en netter! Dan is het wel genormaliseerd., je maakt het jezelf alleen maar moeilijk met deze methode. Probeer het eens op "mijn" manier.
Ik begrijp niet echt wat je wil.
ZOals ik het begrijp wil je meerdere artikelen in een record opslaan.
Dat zie ik door:
row_id ][order_id ][artikel_id ]
1 ][500 ][450 ] [3, 4, 5]
2 ][500 ][634 ] [8, 3, 9]
3 ][500 ][913 ]
Je mist hierboven alleen een kolomnaam. Wat bedoel je met die [3, 4, 5]?
Je kan beter niet meerdere artikelen in 1 rij opslaan. Het levert dan wel minder rijen op, maar de tijd die je kwijt bent om de kolom te selecteren, te splitsen en te tellen is veel meer.
Je kan dit [3, 4, 5] namelijk niet direct tellen als 3 artikelen. Dan moet je met php de functie explode gaan gebruiken.
Je moet echt mysql gebruiken voor het ophalen van gegevens. Mysql is daarop gefocused en daarom vele malen sneller dan php.
Dat is precies wat ik ook wil. Die 4e kolom met de artikelen moet weg ([3, 4, 5] en [8, 3, 9]) en 450, 634 en 913 zijn allemaal artikelen voor order_id 500.
Je krijgt dan dus nog maar 1 artikel per rij.
Ik weet wel waardoor het komt, dat die tabel nu zo raar lijkt, hij heeft de mijne gekopieerd en daarachter zijn artikel_id kolom (inhoud daarvan) gezet.
Je krijgt meer rijen, maar het is gemakkelijker en veel sneller om ermee te werken. Er komt alleen nog wel een kolom bij, de kolom aantal. Je moet ook weten hoeveel een klant van een bepaald artikel heeft gekocht, en dat wil bij jou vorige oplossing niet eens.