Avatar billede bjornhart Nybegynder
09. november 2005 - 17:55 Der er 2 kommentarer og
1 løsning

reservere vare

Hej Eksperter

Jeg skal lave et webshop, hvor man kan købe varer der er i rest fra en butik. Dvs. at der kun er et bestemt antal varer til rådighed.

System skal udføres så man kan vælge en vare og lægge den i en indkøbskurv, ligesom så mange andre webshops.

Da der kan være flere inde på webshoppen ad gangen, skal jeg have lavet noget reservation af varene. Se flg. ex.

Ole Olsen lægger 3 dæk i kurven, der trækkes 3 fra det disponible antal, men Ole Olsen fortryder sin bestilling og lukker browseren uden at sende bestillingen og der lægges 3 til det disponible antal.

Hvordan styrer jeg det disponible antal bedst muligt? Er der nogle der har erfaringer med lign. system?
Avatar billede lasserasch Juniormester
12. november 2005 - 01:34 #1
Som jeg forstår dig, så vil du have at varene bliver reserveret i det øjeblik brugeren ligger dem i vognen, men hvis bestillingen så ikke gennemføres, så skal de frigives igen.

Jeg går ud fra at du har alle vare informationer liggende i en database. Her må du nødvendigvis også have en status på varen. Om den er ledig, solgt eller lagt til side.

Dvs. så snart brugeren lægger varen i sin kurv, skal du opdatere varens status i din database, og sætte denne til f.eks. "Reserved". Samtidig kan du så lægge et timestamp ind for varen, så snart den ændrer status til "Reserved".

Hvis brugeren så afbryder sit køb, ligger din vare jo så godt nok i databasen med status "Reserved".

Næste bruger der så logger på din webshop, og vil have en oversigt over de varer der er tilgængelige, skal selvfølgelig også have vist de varer, som den tidligere bruger ikke købte alligevel.

Du kan gøre dette, ved at tjekker op på dit Timestamp, så snart du henter listen over tilgængelige varer. Dvs. er det f.eks. 15 min. siden varen skiftede status til "Reserved" må du gå ud fra at varen så ikke er blevet solgt alligevel. Så i det øjeblik du henter listen ind over ledige varer tjekker du altså op på om der ligger varer med status "Reserved hvor timestamp er mere end 15 min gammelt. Er der det, så ændrer du jo bare status til "Free" igen og sletter dit timestamp i databasen...

Sådan ville jeg i hvert fald gøre det! Det er måske ikke den mest advancerede måde, men det virker!


/Lasse Rasch
Avatar billede bjornhart Nybegynder
25. november 2005 - 20:17 #2
Tak for input. Send et svar
Avatar billede lasserasch Juniormester
25. november 2005 - 21:49 #3
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester