Kom ihåg mig?
Home Menu

Menu


Databasen för webbshop

 
 
Ämnesverktyg Visningsalternativ
Oläst 2012-05-31, 11:57 #1
sca sca är inte uppkopplad
Medlem
 
Reg.datum: Mar 2011
Inlägg: 58
sca sca är inte uppkopplad
Medlem
 
Reg.datum: Mar 2011
Inlägg: 58
Standard Databasen för webbshop

Hej!

Jag håller på att konstruera en webshop.
Hur ska man göra med databasen som hanterar ordrar?
Det jag inte riktigt förstår är hur jag ska göra med tabellen "order". Antalet db-fält i tabellen kan ju inte vara statisk då en köper kanske 2 varor, medans den andra kanske köper 22 varor.

Hur ska man lösa det?
sca är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-05-31, 13:16 #2
Lucas Welander Lucas Welander är inte uppkopplad
Nykomling
 
Reg.datum: May 2012
Inlägg: 19
Lucas Welander Lucas Welander är inte uppkopplad
Nykomling
 
Reg.datum: May 2012
Inlägg: 19
Du måste ha en tabell som innehåller dina produkter där alla har sitt egna produktId och sedan en tabell som heter kund, och order har 3 fält, orderid, kundid och produktid.
orderid är index i Order tabellen, och för varje produkt en kund köper så läggs det till en rad i databasen.

Exempel
Kod:
#kundTable
- id
- namn
- andra parameterar som man msåte ha som adress m.m

#produktTable
- id
- produktnamn
- produktbeskrivning
- andra parameterar som är bra att ha

#orderTable
- id
- kundid
- produktid
- date
Alltså, för varje produkt jag köper, säg att jag har kundid 1 och nisse har
kundid 2, jag köper produkterna med id 2, 3 och 4 nisse köper endast
produkterna 2 och 4, då kommer raderna se ut såhär:
Kod:
id          kundid          produktid            date
-------------------------------------------------------------
1             1                   2               2012-05-30
2             1                   3               2012-05-30
3             1                   4               2012-05-30
4             2                   2               2012-05-30
5             2                   4               2012-05-30
Lucas Welander är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-06-01, 11:09 #3
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Citat:
Ursprungligen postat av Lucas Welander Visa inlägg
Du måste ha en tabell som innehåller dina produkter där alla har sitt egna produktId och sedan en tabell som heter kund, och order har 3 fält, orderid, kundid och produktid.
orderid är index i Order tabellen, och för varje produkt en kund köper så läggs det till en rad i databasen.

Exempel
Kod:
#kundTable
- id
- namn
- andra parameterar som man msåte ha som adress m.m

#produktTable
- id
- produktnamn
- produktbeskrivning
- andra parameterar som är bra att ha

#orderTable
- id
- kundid
- produktid
- date
Alltså, för varje produkt jag köper, säg att jag har kundid 1 och nisse har
kundid 2, jag köper produkterna med id 2, 3 och 4 nisse köper endast
produkterna 2 och 4, då kommer raderna se ut såhär:
Kod:
id          kundid          produktid            date
-------------------------------------------------------------
1             1                   2               2012-05-30
2             1                   3               2012-05-30
3             1                   4               2012-05-30
4             2                   2               2012-05-30
5             2                   4               2012-05-30

Lite för simpelt där. Om man ändrar pris på en produkt så ändras det i orderhistoriken vilket det inte bör göra.

Så en orderProduktTable bör finnas med pris (kan också förekomma rabatter) samt antal.
allstars är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-05-31, 22:53 #4
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Du kan också tänka i formen orderhuvud och orderrader.
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-06-01, 00:54 #5
sca sca är inte uppkopplad
Medlem
 
Reg.datum: Mar 2011
Inlägg: 58
sca sca är inte uppkopplad
Medlem
 
Reg.datum: Mar 2011
Inlägg: 58
Båda, tack för era svar, det hjälper mig en bra bit på väg.

En kompletteringsfråga...

Lucas, med ditt exempel så har varje specifikt exempel ett order-id. Varje beställd produkt är en ny order.
Är det vanligt att det ser ut så, eller är det vanligare att man samlar alla produkter till en order, som får ett order-id? Det jag funderar på är hur man presenterar det smidigast mot kund, och admin. Säg att tio kunder köper tre saker var, så känns det mycket att visa 30 ordrar när det i själva verket är 10... Är jag ute och cyklar eller har du någon lösning på det också?

DigiArt. Jag hänger nog inte riktigt med på vad du menar. Jag hoppas att du har tid och lust att förklara för mig lite närmre
sca är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-06-01, 08:11 #6
Lucas Welander Lucas Welander är inte uppkopplad
Nykomling
 
Reg.datum: May 2012
Inlägg: 19
Lucas Welander Lucas Welander är inte uppkopplad
Nykomling
 
Reg.datum: May 2012
Inlägg: 19
Citat:
Ursprungligen postat av sca Visa inlägg
Lucas, med ditt exempel så har varje specifikt exempel ett order-id. Varje beställd produkt är en ny order.
Är det vanligt att det ser ut så, eller är det vanligare att man samlar alla produkter till en order, som får ett order-id? Det jag funderar på är hur man presenterar det smidigast mot kund, och admin. Säg att tio kunder köper tre saker var, så känns det mycket att visa 30 ordrar när det i själva verket är 10... Är jag ute och cyklar eller har du någon lösning på det också?
Nej du har såklart rätt där. jag som skrev lite galet, det du säger stämmer helt klart, i mitt fall kan man se det som att person1 har köpt 3 saker 3 olika gånger, dvs då blir det såklart 3 olika ordrar och person2 har köpt 2 saker 2 ggr, visserligen på samma dag men kanske inte på samma gång.

Men i stora drag, det som ska öka på antalet rader i order tabellen är antalet produkter.
Lucas Welander är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-06-01, 07:52 #7
SpaceDump SpaceDump är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 113
SpaceDump SpaceDump är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 113
När jag knappat webshop så har jag gjort en databaslayout ungefär som på nedan URL:

http://files.spacedump.se/webshopdb.png

Jag tycker det blir ganska smidigt så.
Den bör även förklara sig ganska bra själv hoppas jag.

//Anders
SpaceDump är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-06-01, 08:18 #8
Lucas Welander Lucas Welander är inte uppkopplad
Nykomling
 
Reg.datum: May 2012
Inlägg: 19
Lucas Welander Lucas Welander är inte uppkopplad
Nykomling
 
Reg.datum: May 2012
Inlägg: 19
Citat:
Ursprungligen postat av SpaceDump Visa inlägg
När jag knappat webshop så har jag gjort en databaslayout ungefär som på nedan URL:

http://files.spacedump.se/webshopdb.png

Jag tycker det blir ganska smidigt så.
Den bör även förklara sig ganska bra själv hoppas jag.

//Anders
njae, det ser bra ut men du måste göra en relation mellan kund och köpa produkter, så du kan generera ett kvitto eller faktura genom databasuppgifterna.

Så med andra ord saknar du orderraderid på tbl_order. du kan använda tbl_orderrader.id till tbl_order.orderraderid eller liknande men du måste ändå ha ett id fält som är primary key på tbl_order för att fortfarande kunna sortera alla ordrar och kunna plocka ut första 100 beställningarna etc.

så jag hade satt dit orderraderid som refererar till tbl_orderrader.id
Lucas Welander är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-06-01, 08:34 #9
SpaceDump SpaceDump är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 113
SpaceDump SpaceDump är inte uppkopplad
Medlem
 
Reg.datum: Dec 2004
Inlägg: 113
Citat:
Ursprungligen postat av Lucas Welander Visa inlägg
njae, det ser bra ut men du måste göra en relation mellan kund och köpa produkter, så du kan generera ett kvitto eller faktura genom databasuppgifterna.
Det har du väldigt rätt i, jag var nog lite väl morgonseg när jag slängde ihop den där imorse..
Den är numer korrigerad.

//Anders
SpaceDump är inte uppkopplad   Svara med citatSvara med citat
Oläst 2012-06-01, 11:11 #10
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
allstars allstars är inte uppkopplad
Klarade millennium-buggen
 
Reg.datum: Apr 2006
Inlägg: 2 126
Citat:
Ursprungligen postat av SpaceDump Visa inlägg
När jag knappat webshop så har jag gjort en databaslayout ungefär som på nedan URL:

http://files.spacedump.se/webshopdb.png

Jag tycker det blir ganska smidigt så.
Den bör även förklara sig ganska bra själv hoppas jag.

//Anders
i produkter bör du ha fält för moms-sats eller en relation till en momstabell.
Priset ska gärna vara exkl moms.
För din egen skull kan det vara bra att ha en kolumn för inköpspris så du kan räkna förtjänst.
allstars är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 06:00.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017