Web Shop

Tags:    php

Hej
jeg sidder i øjeblikket og koder en web shop, men så stødte jeg ind i et "problem".
Jeg har selve min vare side med alle varende og så har jeg min indkøbskurv. Jeg har så siddet og tænkt over hvordan, man får varende over i indkøbskurven.
tænkte på at bruge en mysql database, til at gemme de valgte vare og derefter hente dem ud med brugerens ip adresse.
Men tænkte også på at bruge Cookis/session variabler.

Men det kan også være at der er en metode som jeg slet ikke har tænkt på.
Men hvis der er nogle som ved hvad der bliver brugt i andre webshops ville det være dejligt.




7 svar postet i denne tråd vises herunder
2 indlæg har modtaget i alt 2 karma
Sorter efter stemmer Sorter efter dato
mysql databasen ville være at foretrække. Men du skal ikke bruge brugerens IP til at hente dataene, da mange har dynamisk IP fra deres isp, og derfor ville dit shopsystem være helt og aldeles ubrugeligt.

Det du skal bruge til at identificere dataene i databasen, ville jeg enten foreslå var ved at lave et almindeligt brugersystem, eller ved at bruge en session, og så bruge session ID til at identificere indkøbskurven.



Hej
jeg sidder i øjeblikket og koder en web shop, men så stødte jeg ind i et "problem".
Jeg har selve min vare side med alle varende og så har jeg min indkøbskurv. Jeg har så siddet og tænkt over hvordan, man får varende over i indkøbskurven.
tænkte på at bruge en mysql database, til at gemme de valgte vare og derefter hente dem ud med brugerens ip adresse.
Men tænkte også på at bruge Cookis/session variabler.

Men det kan også være at der er en metode som jeg slet ikke har tænkt på.
Men hvis der er nogle som ved hvad der bliver brugt i andre webshops ville det være dejligt.


Umiddelbart ville jeg vælge at gemme det i brugerens session.
Det kan laves smart og meget hurtigt.

Eksempelvis har hver vare i din butik et id, det id smider du så over i et array i deres session, eks:
$_SESSION['kurv'][] = $vare_id;

Når du skal vise antallet af varer i kurven er det bare at lave en simpel count() på $_SESSION['kruv'].
Når du skal vise hvilke varer som er i kurven, er det bare at loope sig gennem $_SESSION['kurv'] og hive varen med det pågældende id ud af databasen.

Jeg er næsten sikker på, at det kan laves "dynamisk" via JS, dvs at du ikke skal loade siden hver gang man tilføjer en vare - hvilket du skal hvis du laver kurven i databasen (dog kan ajax måske klare den).

En fordel er, at du ikke skal holde styr på din kurv-tabel i databasen. Folk har det jo med at klikke hér og dér, for så bare at surfe videre på nettet uden egentlig at købe noget.

Sikkerheden i dette system er fuldt ud højt nok.





Indlæg senest redigeret d. 15.08.2006 12:29 af Bruger #4683
Jeg vil nu mene, at det ville være at foretrække at gemme oplysningerne i databasen. Så ville det også være meget nemmere at føre regnskab, samt at holde statistik.



Jeg vil nu mene, at det ville være at foretrække at gemme oplysningerne i databasen. Så ville det også være meget nemmere at føre regnskab, samt at holde statistik.


Man skal jo ikke føre regnskab over varer som lægges i en virtuel kurv, men på varer som sælges.
Det er klart, at når brugeren køber sine varer, skal det arkiveres i en tabel således, at man har styr på salg, lagerstatus, osv.





Okay kan høre der er lidt forviring.
Selvfølgelig skal alle varene der bliver bestilt gemmes i databasen hvilket det også bliver gjort.
Men mit spørgsmål var rettet mod den virtuelle gemning af varene inden kunden helt sikkert bestemmer sig for at købe disse. Og jo med den måde som JT vil benytter Session på lyder det klart at foretrække. Hvade ikke lige tænkt på at man også kan benytte denne som et array. Så der var noget jeg havde overset.



Jamen det er jeg enig i JT. Synes bare selv at det er mere, ved ikke om man kan kalde det... proft? at gøre det databasebaseret, når databasen alligevel i sidste ende skal tages i brug. Derudover vil det stadig være til at føre statistik over hvilke varer der ryger i kurven men aldrig købes. Kunne være interessant hvis det viste sig at der var et mønster. Ikke fordi jeg tror det kunne bruges til noget, men det er nok bare mig der er nysgerrig af natur og synes sådanne data er interessante.



Jeg vil ikke sige, at det er mere proft, bare fordi man bruger en tabel. Der er i mine øjne ingen fordele ved, at lægge kurven i en tabel.

Hvis butikken bliver stor, kan det sætte databasen under unødigt stort pres, at alle brugere hele tiden skal tilføje og slette ting.

Det er smartere, at holde database ude af spillet så længe som muligt - i min verden i hvert fald :)



t