Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Muszę zaprojektować bazę - system nieskończonych atrybutów
Forum PHP.pl > Forum > Bazy danych > MySQL
Adi32
Mam niewiele czasu bo muszę to szybko wycenić więc do rzeczy.

Klient chce mieć możliwość dodania do bazy produktów powiedzmy telewizor.
W tym przypadku ogranicza się do określenia co najwyżej marki, chociaż nie koniecznie (może wszystko lub nic, zaraz to wytłumaczę)
Na przykład:

Telewizor marki 'Jogobella' i jakąś cenę bazową (100zł) i teraz rozpoczyna się zabawa...

Skoro klient (w tym przypadku administrator przyszłego serwisu) informuje, że chce odkupić (skupić) taki telewizor(y) i wedle woli dodaje nowy atrybut na przykład

'Stan': (jedna możliwość czyli 'radio button')

Używany (mnożnik od ceny bazewej do np (cena bazowa*0.7))
Jak nówka (mnożnik od ceny bazewej do np (cena bazowa*1))
Nawet nie otwarty (mnożnik od ceny bazewej do np (cena bazowa*1.3))

użytkownik serwisu kliknie w radio "nówka"

i okazuje się że administrator określił dla tego wyboru kolejne opcje wyboru, będą to na przykład:

'Wyposażenie': (wiele możliwości czyli checkbox)

kabel (do do ceny nie bazowej tylko zmienionej po wyborze stanu dodajemy np 3zł( cena + 3)) (ale do ceny bazowej już powiększonej o mnożnik z opcji 'stan')
pilot (cena + 10 (i teraz cena bazowa pilota wynosi 10 zł))

i takich atrybutów może być nieskończoność ale żeby było ciekawe taki pilot też może mieć atrybuty. Jeżeli użytkownik kliknie że ma być pilot to otwiera się kolejna opcja którą ustalił administrator:

'Stan' (pilota) oczywiście radiobuttony (to wszystko określił administrator)

Dobry (cena bazowa pilota * 1)
Nie dobry (cena bazowa pilota * 0.8)

I tak kurde w nieskończoność można się zagłębiać.

Na pewno sobie poradzę ale bardzo chciałbym poznać Wasze pomysły przynajmniej na projekt bazy danych.
skowron-line
3 tabele
Kod
product
- id_product

product_attributes
- id_product_attribute
- id_product

product_Attribute_values
- id_product_attribute


Przy założeniu że atrybut może mieć więcej niż jedną opcje wyboru, jeżeli ma tylko jedną to ostatnia tabela jest zbędna a do tabeli product_attributes dodajesz pole value.
Adi32
Podobnie to sobie rozrysowałem ale jakoś mi to nie do końca pasuje. Poza tym może by jakoś uwzględnić te mnożniki i 'sumatory'? (wiem, że sumator to co innego) Te radio buttony i chceckboxy? Nic mi się dzisiaj nie udaje nad tym pomyśleć...
skowron-line
Jeżeli będzie to zawsze dodawanie to taki projekt wystarczy.
Później już tylko w JS musisz sobie po każdym kliknięciu dodawać do określonej ceny wartość z danego checkboxa.

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.