Hallo,

Ik heb hulp nodig om het volgende te maken:

Ik wil in een webshop een productpagina bouwen waar de productspecificaties kunnen aangeduid worden. Maar die specificaties zijn afhankelijk van andere specificaties. Een voorbeeld om te verduidelijken:

Een wagen kan een diesel of een benzine motor hebben. dit is de hoofdspecificatie: Diesel of Benzine. Als de klant dan bv Diesel klikt (radio button), DAN PAS verschijnt de volgende specificatie: Handgeschakeld of Automatisch, met een prijs erbij. Als de klant dan een keuze maakt, dan verschijnt er eventueel weer een volgende specificatie.

Mijn database heeft 2 tabellen: 1 tabel met productgegevens (naam, afbeelding, enz...) en 1 tabel 'specificaties' opgebouwd als dit:


id		name			value			main_group_id		product_id			price
==		====			=====			=============		==========			=====
1		Type			Benzine			NULL				1					NULL
2		Type			Diesel			NULL				1					NULL
3		Motor			Handgeschakeld	1					1					15000.00
4		Motor			Automatisch		1					1					18000.00
5		Motor			Handgeschakeld	2					1					19000.00
6		Motor			Automatisch		2					1					20000.00


Dus eerst moet de klant TYPE kiezen en na die keuze wordt de volgende vraag gesteld: MOTOR (indien TYPE 1 - benzine, dan enkel MOTOR 3 of 4 voorstellen, indien TYPE 2, dan enkel MOTOR 5 of 6 voorstellen, en de prijs erbij plaatsen.

Het moet natuurlijk ook zo werken dat er meerdere specificaties zijn afhankelijk van het soort product.

Weet iemand of zo'n script al bestaat, of is dit eenvoudig te schrijven?

Bedankt voor de hulp!

Groetjes!
Uhm, kan het kloppen dat in bovenstaande tabel (ten minste) drie tabellen zijn gecombineerd?
- de eigenschappen van een product, dit zijn als het ware de "dimensies" waarin je een product opspant, zoals type en motor
- de mogelijke waarden van een eigenschap voor type: benzine of diesel, voor motor: automaat of handgeschakeld
- de concrete producten (mogelijk in verschillende uitvoeringen) waar prijzen aan gekoppeld zijn

En dan heb je nog een koppeltabel nodig waarin je een specifieke eigenschap met een concrete waarde koppelt aan een concreet product.

Als je dit zo opzet kun je makkelijk meer eigenschappen en eigenschap-waarden toevoegen en koppelen aan producten.

Dit alles lijkt op / is een aanpak met het EAV-model.

Vervolgens wil je een zoekfunctionaliteit maken die veel weg heeft van een Faceted Search.

Nu kun je ook al je EAV-informatie in één tabel dumpen, maar ik denk dat je uit oogpunt van het generiek houden van code (en je zoekformulier) en het optimaliseren van je database-vraagstukken meer baat hebt bij een aanpak met meerdere tabellen. Daarnaast heb je dan ook veel meer structuur in je database.

Reageren