Jag sitter och bygger min egen webbutik i php och mysql. Jag har lyckats komma upp med ett flertal idéer om hur jag ska lösa olika prylar, men det är en sak som jag behöver lite hjälp med.
När en kund kommer till butiken och väljer att lägga nånting i varukorgen sin så vill jag att antalet som finns kvar ska minskas, antingen temporärt tills dess att kunden väljer att ta bort varan/lämnar siten. Eller då kunden (förhoppningsvis) väljer att köpa varan i fråga, då det permanent ska minskas med n antal i databasen.
Nån som har lust att bolla lite idéer?
Kan vara fel forum också, då jag inte bestämd mig hur jag ska lösa det. Jag har några kraftigt skissade idéer, men ingen någorlunda utlagd plan.
Jag har gjort ett sånt "funktion"... för varje produkt så lägger du till en kolumn i databasen som heter "fldLagersaldo" eller liknande... inventera ditt lager och skriv dit korrekt antal för varje produkt...
Sen när en kund lägger till en produkt i sin kundvagn så minskar du helt "fldLagersaldo" med det antal av produkten som kunden valde... Om kunden väljer att ta bort produkten från sin kundvagn så plussar du helt enkelt på fldLagersaldo igen. Om kunden väljer att köpa varan så behövs ingen ytterligare åtgärd då minskningen redan är utförd då kunden la produkten i kundvagnen!
jag hade nog gjort en egen kolumn för reserverade produkter som andra kunder redan har lagt till i sin kundvagn, annars kommer det bli problem med alla som skapar sin kundvagn för se vad sakerna kostar men sedan aldrig köper eller plockar bort från kundvagnen.
Du bör då presentera att det finns X st i lager varav Y st är reserverade eller något liknande.
Tror inte det finns något bra sätt att kontrollera om en användare fortfarande besöker sidan, man får nog uppdatera en tabell varje gång användaren laddar en sida.
Hur har du tänkt att sköta sessions-hanteringen? Jag skulle nog ha skrivit en Session-Handler som sparar sessionerna i mySQL-databasen istället. Då kan du ju enkelt kolla dina sessioner i denna tabell och ta bort icke-avslutade köp som varit inaktiva en viss tid.