Avatar billede Slettet bruger
18. marts 2004 - 11:58 Der er 6 kommentarer og
1 løsning

Opbygning af tabel med produkt, størrelse, farve og pris (shop)

Jeg vil forsøge at lave en webshop.

Men jeg er i tvivl om hvordan jeg opbygger tabellerne der skal bruges til produkterne.

Et produkt fås i forskellige størrelser og forskellige farver, og det er størrelsen der afgør prisen.

På forhånd 1000 tak for hjælpen!

PS! Der skal være mulighed for at nogle produkter kun fås i én størrelse og andre i flere (det samme med farver).
Avatar billede muddi Praktikant
18. marts 2004 - 12:04 #1
Uha, det er der rigtig mange måder at gøre på.
Du kunne lave en tabel med varen og alle øvrige data, som de har til fælles uanset størrelse og farve.

De ting der så kan vælges i mellem, f.eks. farve og størrelse kan du lægge over i et antal andre tabeller.

Prisen gemmer du i tabellen med størrelser.

Skal jeg forklare det yderligere? :D
Avatar billede Slettet bruger
18. marts 2004 - 12:12 #2
Jeg laver altså en produkttabel, en størrelsetabel og en farvetabel. Dernæst laver jeg en tabel som indeholder produktid, størrelseid, farveid og en pris!?
Avatar billede Slettet bruger
18. marts 2004 - 12:19 #3
Det var selvfølgelig en fejl at jeg selv afleverede et svar - sorry!
Avatar billede muddi Praktikant
18. marts 2004 - 12:32 #4
Du behøver faktisk ikke den fjerde tabel. Altså den med alle deres id.

Du kan nøjes med tre tabeller:

produkter
  - produkt_id
  - produkt_navn
  - produkt_beskrivelse

farver
  - farve_id
  - produkt_id    // det produkt den tilhører
  - farve        // navn på farven

stoerrelser
  - stoerrelse_id
  - produkt_id
  - stoerrelse

Du kan så med SQL trække de tabeller ud du vil vise. Kunden kan også sortere efter farver, priser, produkter osv.
Avatar billede Slettet bruger
18. marts 2004 - 12:34 #5
Men hvad nu hvis to forskellige produkter begge fås i den samme farve
Avatar billede whistler Nybegynder
18. marts 2004 - 12:58 #6
Hvis det databasemæssigt skal se rigtigt ud - vil jeg nok umiddelbart vælge en løsning der ser nogenlunde således ud (men løsningen afhænger også lidt af kompleksiteten af din shop):

products
- product_id
- product_name
- product_<whatever>

colors
- color_id [autoincreament]
- color_name
[...]

sizes
- size_id [autoincreament]
- size_name
[...]

product_relations
- prorel_id [autoincreament]
- product_id
- color_id
- size_id
- product_price


På den måde vil du have den mest relationelle korrekte opbygning og vil uden problemer kunne udbygge med flere informationer (fx tekster på flere sprog, antal varer på lager, forsendelsespriser, vægt osv.)

På den måde vil du kunne opbygge SQL statements der giver brugeren mulighed for fx kun at udtrække produkter fra din databaser der har farven sort, eller måske størrelsen XL osv.

/Geert
Avatar billede Slettet bruger
18. marts 2004 - 15:03 #7
Jeps - det lyder meget rigtigt.

Mange tak for din hjælp - Points er dine!
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
Computerworld tilbyder specialiserede kurser i database-management

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