Winkelwagen met Mysql
ik ben een winkelwagen aan het maken met een database. Hij zet het product wat je in de winkelwagen zet in de database met je ip en het aantal. Daarna roep ik de producten met je IP op met een while. nu heb ik wel dat ik het subtotaal van 1 product heb dus als een product 5euro kost en je hebt er 4 dat het subtotaal 20euro is. Alleen wil ik nu het subtotaal van alle producten hebben. Dus dat ik alle subtotalen bij elkaar op tel. Weet iemand hoe ik dat doe?
Stel eens dat je systeem plots door een bedrijf veel gebruikt gaat worden. Laten we zeggen dat 5 mensen binnen dat bedrijf constant dingen aan het bestellen zijn (vb een doorverkoopbedrijfje). Dan heb je dus 1 winkelwagen met daarin de producten van alle 5 werknemers. Want aangezien ze in hetzelfde bedrijf werken, hebben ze hetzelfde ip.
In de tut-lib staat een tutorial voor een winkelwagen. Kijk daar eens voor even :)
edit
Ik denk dat het de deze is.
Gewijzigd op 16/12/2010 21:47:05 door Jens V
ik zal daar ff naar kijken
thanx voor de tip
Je kunt ook met sessies gaan werken. Alhoewel je beter met registraties kunt gaan werken. Dat de winkelwagen per account wordt onthouden.
Sessies is ook een goede optie, alleen als de bezoeker de browser sluit en vervolgens weer opnieuw naar je site toe gaat, is het winkelwagentje weer leeg. Je zult dus een session handler moeten schrijven in dat geval die de sessie langer bewaart dan de browseduur.
Succes!
Justin Streuper op 16/12/2010 23:22:31:
Je zult dus een session handler moeten schrijven in dat geval die de sessie langer bewaart dan de browseduur.
??????
Ozzie PHP op 16/12/2010 23:25:17:
??????
Justin Streuper op 16/12/2010 23:22:31:
Je zult dus een session handler moeten schrijven in dat geval die de sessie langer bewaart dan de browseduur.
??????
Je hebt handen waarmee je kunt schrijven. Vraagtekens is onzin.
Een sessie heeft een bepaalde duur. Een sessie wordt beëindigd als de browser afgesloten wordt. Sessie cookies worden dan ook verwijderd, want dat is hun expiry(einde).
Door je eigen session handler te schrijven kan je hierop meer invloed uit oefenen.
Mijn vraagtekens waren wel duidelijk denk ik... het is een expressie van verbazing. Hoe ik de opmerking van Justin interpreteer is dat je een eigen sessie handler schrijft, waardoor je nadat je bent uitgelogd een eerdere sessie weer kunt oppakken. Is dat wat hij bedoelt? Ik weet niet of dat technisch kan, maar als dat kan houdt dat dus in dat je je sessie bestanden een aantal dagen / weken moet bewaren? Dat is toch niet wat je zou moeten willen lijkt mij?
ik doe een combinatie van database en cookies, de producten zet ik een database met een code die ook in de cookie zit. zo kan je ook beter statistieken maken
En als de browser geen cookies accepteert?
Wat nou als je geen internet hebt?
Nee, maar serieus.
Je kan cookies afzetten.
Je kan javascript afzetten.
Je kan css afzetten.
Mensen die dit doen, zijn daar zelf verantwoordelijk voor; ze weten zelf wel hoe ze dat terug kunnen aanzetten.
Wie zijn cookies afzet moet zelf maar weten dat hij bij de meeste sites niet zal kunnen inloggen.
Gewijzigd op 17/12/2010 14:11:16 door Kris Peeters
Ozzie PHP op 17/12/2010 00:14:19:
Mijn vraagtekens waren wel duidelijk denk ik... het is een expressie van verbazing. Hoe ik de opmerking van Justin interpreteer is dat je een eigen sessie handler schrijft, waardoor je nadat je bent uitgelogd een eerdere sessie weer kunt oppakken. Is dat wat hij bedoelt? Ik weet niet of dat technisch kan, maar als dat kan houdt dat dus in dat je je sessie bestanden een aantal dagen / weken moet bewaren? Dat is toch niet wat je zou moeten willen lijkt mij?
Hoe ziet het met bovengenoemde dan?
Code (php)
1
<?php mysql_query("SELECT SUM(product_aantal * product_prijs) AS totaal_subtotaal FROM winkelwagen"); ?>
Zal het niet gewoon zoiets zijn?
Inderdaad de winkelwagen in de sessie opslaan, niet direct in de database. Alleen pas zodra de bestelling wordt afgerond. Er worden dagelijks namelijk duizenden winkelwagentjes gevuld die nooit afgerond cq besteld worden.