Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP]dodatkowe atrybuty do wpisu
elmozaur
post
Post #1





Grupa: Zarejestrowani
Postów: 518
Pomógł: 18
Dołączył: 21.07.2008

Ostrzeżenie: (0%)
-----


Witam ponownie.
Moje drugie pytanie dotyczy systemu atrybutów. Z Wasza pomoca napisalem system Tagow wiec mam nadzieje ze z tym tez bedzie tak latwo.

Postaram sie to przedstawic na przykladzie:
Mam np sklep internetowy. Chcialbym aby kazdy wpis (produkt) mial swoje atrybuty ktore moga byc rozne dla roznych produktow np

produkt: but - atrybuty: kolor=czarny, typ=sportowy, rozmiar=44
produkt: dres - atrybuty: kolor=niebieski, rozmiar=XXL, material=bawelna
produkt: pilka - atrybuty: waga=1kg, rodzaj=pilkanozna, typ=tango12

Jak widac w obrebie jednego sklepu (hurtownia sportowa) chcialbym miec rozne produkty roznego typu z roznymi atrybutami.

Pytanie/prosba:
Jak teoretycznie podejsc do tego tematu ? jak zrobic to na bazie mysql ? Czy robic to tak jak np tagi ze w kazdym atrybucie trzymac numery ID produktow ktore go zawieraja ? Czy jest na to inny sposob ?
W tagach jest tylko nazwa a tu mam nazwe i wartosc i niewiem jak to teoretycznie ugryzc.

czy moge prosic o jakas podpowiedz ?

pozdrawiam
G
Go to the top of the page
+Quote Post
Sephirus
post
Post #2





Grupa: Zarejestrowani
Postów: 1 527
Pomógł: 438
Dołączył: 28.06.2011
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Moim zdaniem kwestia 3 tabel:

1. produkty

id | nazwa | itd...

1 | Buty Adidos xx-123 | ...
2 | Piłka do nogi Mike | ...
3 | Narty cc-987 | ...
...

2. atrybuty

id | nazwa

1 | kolor
2 | waga
3 | rozmiar
4 | długość
...

3. produkt_atrybuty

id | id_produkt | id_atrybuty | wartosc

1 | 1 | 3 | 41
3 | 3 | 4 | 120cm

I teraz jak to działa (IMG:style_emoticons/default/smile.gif)

W tabeli pierwszej przechowujesz dane o produktach wspólne dla każdego produktu... dajmy na to nazwa, cena, liczba sztuk w magazynie itd...

Tabela 2 to nic innego jak lista nazw atrybutów (wszystkich) jakie są możliwe.

Tabela 3 łączy produkt z nazwą atrybutu i zawiera wartość tego atrybutu (IMG:style_emoticons/default/smile.gif)

Wystarzczy teraz odpowiednio to poustawiać. Niestety przy takim rozwiązaniu każdy produkt mógłby mieć praktycznie każdy atrybut co przy jego dodawaniu byłoby kłopotliwe - dlatego trzeba zrobić grupy atrybutów czyli typy produktów.

dodatkowe tabele:

4. typy_produktow

id | nazwa

1 | Piłki
2 | Buty

5. typy_produktow_atrybuty

id | id_typy_produktow | id_atrybuty

1 | 1 | 1 // kolor piłek
1 | 1 | 3 // rozmiar piłek

Teraz wystarczy danemu w tabeli z produktami dodać dodatkowe pole id_typy_produktow i już wszystko wiemy.

Jakby wyglądało dodawanie produktu:

1. Wybór typu produktu (pokazują się odpowiednie pola - atrybuty do wpisania dla danego typu produktu)
2. Podanie wartości atrybutów oraz reszty danych produktu

koniec (IMG:style_emoticons/default/wink.gif)

Można to jeszcze bardziej skomplikować dodając na przykład "słowniki" do danego atrybutu lub jakieś domyślne wartości czy przedziały czy typy możliwych wartości (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 15.09.2025 - 01:28