views:

21

answers:

1

This is more of a "logic" question than a coding question.

I am building this ecommerce site. Currently I am grouping products by: brand, category, subcategory1, subcategory2 and subcategory3. Just the standard way we are all used to work with.

However, lets say we have something like this:

iPhone 4 8GB ($US 199,49)
iPhone 4 16GB ($US 299,49)
iPhone 4 32GB ($US 399,49)

Technically, those are 3 different products, with different prices and even different weight, stock, etc. They are stored in the database as 3 different products too. However, client wants to "visually" group those 3 products, because in theory, they are the same thing, just with different characteristics. So, in my front end, there should be a way to switch by the "variations" of that particular product.

Lets say I am looking at the details of iPhone 4 32GB ($US 399,49), there should be a dropdown or something to select the other 2 variants, the 8GB and 16GB versions.

What would be the best way to structure my database in order to allow this? So I can "group" products this way. And how would you graphically build a backend so the administrator can easily "group" the products?

I am all ears to suggestions and ideas. Thanks!

PD: I don't need any code, just theory and ideas.
PD2: I am working with MySQL.

+1  A: 
  alter table Stock add column product_base integer, 
     add column product_variant integer;

seems reasonable. I'd recommend against hiding the variants behind a pull down at least in the first iteration as a hidden elements may as well not even be there for the casual viewer (cf. Nielsen and Pernice).

Or perhaps provide the customer with a visible tabular view like

iPhone 4   8GB      US$ 199'49
          16GB          299'49
          32GB          399'49
iRazor     1 blade  US$   1'99
           7 blade       14'99
...

and the pulldown view and tell them about the concept of up-selling.

msw