[PHP] Productvarianten

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben geen programmeur maar front-ender, toch inmiddels al wel wat leuke dingen gedaan met PHP, vind het leuk om te doen en gelijk wat te leren.

Nu ben ik bezig met een simpele webshop, lukt aardig en is bijna klaar maar krijg één probleem maar niet opgelost: productvarianten.

Situatie
Ik heb ervoor gekozen om met één tabel voor de producten te werken en niet met een extra tabel (of meerdere) voor de opties van de producten. Dit deed ik omdat ik het betrekkelijk simpel wilde houden. De opties kunnen van alles zijn: kleuren, maten, inhoud etc.

Ik heb nu een aantal t-shirts in de database gezet en kan die daar ook uithalen en in een array plaatsen. Ik werk trouwens met php, smarty en mysql.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
Array (3)
0 => Array (34)
  pk_id => "46"
  sku => "T01"
  category => "17"
  name => "T-shirt Heavyweight"
  brand => ""
  featured => "false"
  toplist => "false"
  price => "10.000000"
  vat => "19"
  new => "2009-11-12 10:23:36"
  size => "L"
  color => "Groen"
  stock => "50"
  offer => "0.000000"
  published => "true"
  related_products => ""
  description => "T-shirts heavyweight, dikke katoen."
  weight => "150"
  linkrewrite => "t-shirt-heavyweight"
  metatitle => ""
  metadescription => ""
  metakeywords => ""
  img1thumb => "thumb_billabong.jpg"
  img1small => "small_billabong.jpg"
  img1big => "billabong.jpg"
  img2thumb => ""
  img2small => ""
  img2big => ""
  img3thumb => ""
  img3small => ""
  img3big => ""
  img4thumb => ""
  img4small => ""
  img4big => ""
1 => Array (34)
  pk_id => "47"
  sku => "T01-47"
  category => "17"
  name => "T-shirt Heavyweight"
  brand => ""
  featured => "false"
  toplist => "false"
  price => "10.000000"
  vat => "19"
  new => "2009-11-12 10:32:19"
  size => "XL"
  color => "Wit"
  stock => "40"
  offer => "0.000000"
  published => "true"
  related_products => ""
  description => "T-shirts"
  weight => "0"
  linkrewrite => "t-shirt-heavyweight"
  metatitle => ""
  metadescription => ""
  metakeywords => ""
  img1thumb => "thumb_billabong.jpg"
  img1small => "small_billabong.jpg"
  img1big => "billabong.jpg"
  img2thumb => ""
  img2small => ""
  img2big => ""
  img3thumb => ""
  img3small => ""
  img3big => ""
  img4thumb => ""
  img4small => ""
  img4big => ""
2 => Array (34)
  pk_id => "48"
  sku => "T01-48"
  category => "17"
  name => "T-shirt Heavyweight"
  brand => ""
  featured => "false"
  toplist => "false"
  price => "10.000000"
  vat => "19"
  new => "2009-11-12 10:32:19"
  size => "L"
  color => "Wit"
  stock => "40"
  offer => "0.000000"
  published => "true"
  related_products => ""
  description => "T-shirts"
  weight => "0"
  linkrewrite => "t-shirt-heavyweight"
  metatitle => ""
  metadescription => ""
  metakeywords => ""
  img1thumb => "thumb_billabong.jpg"
  img1small => "small_billabong.jpg"
  img1big => "billabong.jpg"
  img2thumb => ""
  img2small => ""
  img2big => ""
  img3thumb => ""
  img3small => ""
  img3big => ""
  img4thumb => ""
  img4small => ""
  img4big => ""


De producten uit deze array wil ik samenvoegen zodat ik één product kan laten zien met dropdowns voor de opties size en color. Als de optie gewijzigd wordt, bezoeker kiest bijvoorbeeld een andere kleur, moet alle informatie van dat specifieke product worden getoond.

Hier loop ik vast en zie gewoon niet hoe ik dit voor elkaar kan krijgen. Zoeken levert veel tutorials op over het gebruik van bestaande (OS) webshops maar mijn situatie heb ik niet kunnen vinden. Wel een paar forumberichten gezien waarvan ik dacht dat ik er daarmee wel uit zou komen maar die resulteerden allemaal in een aantal uren pielen (meestal met foreach loops) om er dan achter te komen dat ik niet eens in de buurt kom van wat ik wil.

Probleem is dus eigenlijk dat ik niet weet wat ik precies zoek of waar ik op moet zoeken.

Zou iemand zo vriendelijk willen zijn om mij de juiste hints te geven over waar ik het moet zoeken? Ik zoek geen kant en klare oplossingen, ik wil er wel wat van opsteken uiteindelijk.

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 21:27

Creepy

Tactical Espionage Splatterer

Je wilt dit waarschijnlijk niet horen, maar je loopt tegen problemen aan omdat je het met 1 tabel "betrekkelijk simpel" wilt houden. Je zult in dit geval toch echt moeten gaan normaliseren (google daar eens op ;) ). Jij hebt nu 4 verschillende shirts, terwijl het eigenlijk een shirt is, verkrijgbaar in meerdere kleuren en meerdere maten

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Wil ik best horen hoor, was er zelf inderdaad ook al achter dat ik in het begin te hard van stapel ben gelopen en beter over het database design na had moeten denken. Leermomenten. Normaliseren had ik inderdaad al over gelezen inmiddels.

Als het enigszins mogelijk is wil ik het afmaken zoals het nu is en in een eventuele volgende versie alles beter doen. :)

Acties:
  • 0 Henk 'm!

  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Verwijderd schreef op zaterdag 28 november 2009 @ 14:39:
Als het enigszins mogelijk is wil ik het afmaken zoals het nu is en in een eventuele volgende versie alles beter doen. :)
Er is van alles mogelijk, het gaat je alleen even veel (of meer) tijd kosten dan nu gewoon de nette aanpak te doen.

{signature}