emission skrev:
Helt sant. Det var med utgångspunkt i att joel_joel88 endast använde en tabell.
Jag nästa ana att du menade så! :)
Ville bara förtydliga att tillvägagångssättet är fel (enligt mig iallafall) att använda en tabell. :)
29 svar · 937 visningar · startad av joel_joel88 · sida 2 av 2
Hej! Det är så att jag håller på att göra en webshop. Nu har jag några frågor... När någon beställer så skapar jag ett order.nr för varje beställning. Ordernummret får jag utav session.sessionId, sedan plusar jag på ett slumpat nr. Detta gör jag i fall kunden beställer flera gånger utan att stänga webläsaren. Om jag inte gör det så blir det samma ordernr för olika beställningar. Nu till frågan,
Läs frågan i sin helhet →emission skrev:
Helt sant. Det var med utgångspunkt i att joel_joel88 endast använde en tabell.
Jag nästa ana att du menade så! :)
Ville bara förtydliga att tillvägagångssättet är fel (enligt mig iallafall) att använda en tabell. :)
För att sammanfatta:
Skapa åtminstone 4 tabeller.
Orders
OrderID
bla bla bla
OrderItems
OrderID
ItemID
Quantity
Price (viktigt att komma ihåg priset som gällde när ordern lades)
+ det är viktigt att Items knutna till ordern inte förändras/raderas.
Baskets
BasketID (det som du lagrar i session el. cookie, gärna ett GUID el. likn om du ska lagra i cookie)
LastModified (så att du kan ta bort inaktiva korgar)
BasketItems
BasketID
ItemID
Quantity
Att tänka på: Del 2.
Två alternativ:
Alternativ 1:
Ha inte en ralation mellan 'OrderItems' och produkterna.
För om du raderar en produkt så ska ju inte 'OrderItems' försvinna.
Utan i 'OrderItems' lagrar du allt som behövs för en komplett faktura: bla. produktnamn, antal, pris, moms.
Alternativ 2:
Ha en ralation mellan 'OrderItems' och produkterna, och när du raderar en produkt så raderar du den inte från databasen utan gömmer den bara från shoppen publikt.
(dock produktens pris måste du lagra i 'OrderItems' utifall du ändrar pris så ska inte en gammal order få nya priser när du uppdaterar en produkt)
Själv tycker jag alt. 1 är vettigast. :)
Tack så hemsk mycket för all hjälp! Hur ska man klara sig utan er :)
Jag har löst det så här...
När man lägger till en vara så får man ett temporärt "användarnamn" som jag hämtar av session.sessionID och lagrar det i en cookie.
När man ska beställa så måste man vara inloggad. När man beställer så byts det temporära användarnamnet ut till det riktiga.
Ordernummret blir beställnings id:et.
Vad tycker ni om detta?
joel_joel88 skrev:
När man lägger till en vara så får man ett temporärt "användarnamn" som jag hämtar av session.sessionID.
När man ska beställa så måste man vara inloggad. När man beställer så byts det temporära användarnamnet ut till det riktiga.
Ordernummret blir beställnings id:et.
Om jag fattar dig rätt så är det helt rätt! :)
doggelito skrev:
I så fall så låter det mycket bra :)
Det fungerar fint för vart fall ;)
Om jag fattar dig rätt så är det en fungerande lösning, men om den är riktigt bra vet jag inte, utan mer beskrivning av hur du lagrar saker. Eftersom du ändå använder dig av sessioner så finns det ingen anledning att använda cookies, såvida du inte vill att cookien ska överleva en stund (sessionen försvinner ju så fort webbläsaren stängs ner).
joel_joel88 skrev:
doggelito skrev:
I så fall så låter det mycket bra :)
Det fungerar fint för vart fall ;)
Hey, så har jag väl aldrig skrivit! ;)
Dock, trevlig helg å lycka till med shoppen! :)
http://www.webforum.nu/showthread.php?t=134355
Om du är nöjd förståss :)