Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Pomysł bazy na katalog produktów w sklepie int., Z wieloma kategoriami
MOniToR
post 28.01.2006, 15:08:50
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


Witam
Byłbym wdzięczny jeżeli ktoś by mi podsunął jakiś dobry pomysł na zaprojektowanie tabel(jakich i ile) dla katalogu produktów sklepu, z wieloma kategoriami. Chodzi mi to żebym mógł dodawac nowe kategorie produktow razem z ich właściwościami i żeby nic nie było ograniczone. Mam nadzieje, że w miare jasno przedtsawiłem o co mi chodzi, z góry dzieki za pomoc.


--------------------
Go to the top of the page
+Quote Post
mike
post 28.01.2006, 15:17:36
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Nic trudnego.
W najpostrzej postaci to trzy tabele: Products, Categories, ProductsCategories (tabele łącząca wiele do wielu)

Products
id | name | jakieś atrybuty

Categories
id | name | jakieś inne atrybuty

ProductsCategories
id_product | id_category

Ostatnia tabela łączy produkty z kategoriami, tak że każdy produkt może należeć do wielu kategorii i jednocześnie jedna kategoria może zawierać wiele produktów.

Rozbudowa jest łatwa.
Jak chcesz drzewo kategorii to robisz:

Categories
id | id_parent | name | jakieś inne atrybuty

gdzie id_parent to identyfikator kategorii nadrzędnej
Go to the top of the page
+Quote Post
MOniToR
post 30.01.2006, 17:09:12
Post #3





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


no tak ale musze przeciez jeszcze dac opis produktow, ktory dla każdej kategorii bedzie inny i bedzie sie skladal z ilusc tam czesci i wlasnie z tym mam problem.


--------------------
Go to the top of the page
+Quote Post
ikioloak
post 30.01.2006, 17:23:05
Post #4





Grupa: Zarejestrowani
Postów: 416
Pomógł: 0
Dołączył: 8.01.2004

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


Musisz tylko rozbudowac lekko to co ci dam mike_mech:

ProductsCategories
id_product | id_category | opis
Go to the top of the page
+Quote Post
MOniToR
post 30.01.2006, 17:50:09
Post #5





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

Ostrzeżenie: (10%)
X----


eh ale to nie jest jaksi tam prosty opis, opis produktu składa się z wielu informacji, które musza byc wyświetlone osobno w formularzu do dodawania produktu.


--------------------
Go to the top of the page
+Quote Post
mike
post 30.01.2006, 17:58:01
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


~MOniToR wykaż inicjatywę i pomyśl trochę.

To co Ci podalem to niezdbędne minimum do tego żeby stworzyć konstrukcje o której wpominałeś.

Nic nie stoi na przeszkodzie żebyć dodawał do tabel kolejne pola, które moga być jakimiś artybutami w stylu: opis, waga, cena, ...

Najważniejsze są tylko elementy które podałem.

Zresztą spójrz na górę i zauważ że miejscami napisałem: "akieś inne atrybuty" To właśnie tutaj soebi możesz dać co tylko chesz.
Go to the top of the page
+Quote Post
spenalzo
post 1.02.2006, 09:44:36
Post #7





Grupa: Zarejestrowani
Postów: 2 064
Pomógł: 1
Dołączył: 22.01.2003
Skąd: Poznań

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


Ja robiłem dokładnie identyczną strukturę. To było mneij wiecej tak (nie pamietam dokładnie, rok temu to pisałem tongue.gif)
Utworzylem nastepujace tabele:

1. Kategorie (id, nazwa, grupy_cech)
2. GrupyCech (id,id_cechy,nazwa)
3. Cechy (id,nazwa,typ[tekst,link,plik,obrazek])
4. CechyWartosci (id,id_cechy,id_produktu,wartosc)

Nastepnie użytkownik mogl sobie pogrupowac cechy w grupy (zeby nie klikac dziesiatek aktegorii tych samych cech).

Przy tworzeniu nowych kategorii produktów użytkownik wybierał sobie po prostu kilka grup cech które mu były aktualnie potrzebne (select multiple) i dane o grupach cech wędrowały do pola "grupy_cech" zlączone przecinkami.

Przy dodawaniu produktu zostaly wyciagane grup cech produktów (przy użyciu FIND_IN_SET + paru innych warunkow) i wyswietlane dodatkowe pola. Nastepnie dane wędrowały do tabeli CechyWartości i stamtąd były pobierane przy wyswietlaniu na stronie.

Może nie było to najlepsze rozwiązanie, ale sprawdzalo sie idealnie - kazda kategoria produktów mogła mieć nieskonczienie wiele różnych grup cech, jak np. monitory mogly miec dane dotyczace monitorow, dyski dane dotyczące dysków twardych, ale oprocz tego te 2 kategorie mogły miec wspolne cechy, które nie miały inne kategorie. (http://sklep.komputronik.pl - najlepszy przykład w jaki sposób to działa. Nie jest to mój sklep ofcoz, ale moj skrypt umożliwiwał dowolne formowanie karty produktu pod względem wystepujących parametrów). Zaletą takiego rozwiązania jest, że tabela Produkty składała sie tylko z podstawowych pól jak ID, nazwa, kategoria, ew. cena.



Ech.. zawile to napisałem, ale jeszcze poranna kawa nie zaczęła działać sad.gif

Ten post edytował spenalzo 1.02.2006, 09:45:19


--------------------

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 12.06.2025 - 20:57