webForumDet fria alternativet

Fråga angående Webshop

ASP

29 svar · 937 visningar · startad av joel_joel88 · sida 2 av 2

Frågan, av joel_joel88

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 →
Medlem sedan juni 20003 076 inlägg
#21

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. :)

Medlem sedan dec. 19996 721 inlägg
#22

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

Medlem sedan juni 20003 076 inlägg
#23

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. :)

Medlem sedan nov. 20021 222 inlägg
#24

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?

Medlem sedan juni 20003 076 inlägg
#25

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! :)

Medlem sedan nov. 20021 222 inlägg
#26

doggelito skrev:

I så fall så låter det mycket bra :)
Det fungerar fint för vart fall ;)

Medlem sedan dec. 19996 721 inlägg
#27

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).

Medlem sedan juni 20003 076 inlägg
#28

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! :)

Medlem sedan nov. 20021 222 inlägg
#29

oj, råkade skriva fel, är för snabb på tangenterna ;)

Tack så mycket för hjälpen alla!

Medlem sedan juni 20003 076 inlägg
#30

http://www.webforum.nu/showthread.php?t=134355
Om du är nöjd förståss :)

257 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)