Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak zrobic kategorie z podkategorie w mysql, prosze o pomoc
gumis1
post 6.02.2007, 01:50:57
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2007

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


jak zrobic kategorie z podkategorie w mysql i jakich typop pol uzyc?? chce miec mozliwosc wstawiania takich danych.


DANE TABELI
KATEGORIA
1.CHEMIA
1odmrazacz
2scierka
3zapach samochodu
2.FILTR
1kabinowy
2oleju
3paliwa

prosze o konkretnie jak to ma wygladac, bo nie bardzo wiem sad.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
frickle
post 6.02.2007, 09:54:45
Post #2





Grupa: Zarejestrowani
Postów: 69
Pomógł: 0
Dołączył: 20.04.2006
Skąd: Kraków/Lublin/Lubartów

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


Jeżeli chcesz mieć dowolny poziom zagłębienia w podkategorie, to możesz zrobić taką tabelkę

  1. CREATE TABLE kategorie (
  2. id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. kategoria varchar(50) NOT NULL,
  4. id_rodzica INT(10) NOT NULL DEFAULT = 0);


Wtedy, główne kategorie wpisujesz z id_rodzica jako 0 i w ten sposób je wyszukujesz. A podkategorie wpisujesz do bazy ustawiając id_rodzica na wybraną kategorię główną. Przykładowa zawartość:

ID kategoria id_rodzica
1 kategoriagł1 0
2 kategoriagł2 0
3 podkategoria1 1
4 podkategoria2 2
5 podpodkat1 3

itd, itd.

Czyli że podkategoria "podpodkat1" należy do podkategorii "podkategoria1" która zkolei należy do kategorii "kategoriagł1". A kategoria "kategoriagł1" ma id_rodzica = 0 więc już nie należy do żadnej.

A do konkretnych produktów, usług, osób należących do różnych kategorii tworzysz drugą tabelę:

  1. CREATE TABLE produkty (
  2. id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,
  3. nazwa VARCHAR(100) NOT NULL,
  4. id_kategorii INT(10) NOT NULL);


tylko musisz pamiętać żeby produktom nadawać id_kategorii z najniższej podkategorii.
Teraz łatwo możesz znaleźć całe drzewko kategorii do której należy dany produkt i w drugą stronę zależnie od kategorii i wszystkich podkategorii możesz wyświetlać sobie produkty.


--------------------
Lepiej kijek obcinkować niż go potem pogrubasić.
Go to the top of the page
+Quote Post
gumis1
post 6.02.2007, 15:16:44
Post #3





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 5.02.2007

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


nie moge zrozumiec z tym id rodzica o co chodzi z tym, moze ktos mi wyjasnic.

chce miec
tabele kategorie
id kategorie
nazwa kategorii

i chyba musze miec
tabele podkategorii
id podkategorii
nazwa podkategorii
id kategorii int not null default 0

ale jak to powiazac z tablea czesci?? i gdzie mam wpisac cos prudecentow tych czesci??
moze ktos mi to wyjasnic :
juz siedze nad tym dlugo ale im dluzej siedze nic nie rozumiem:(

Bo jak wczesniej odpisal fickle to byly by dwie tabele kategorie i produkty w moim przypadku czesci.
ale co to jest id rodzica?? nie moge zabardzo to zrozumiec.
wciaz potrzebuje pomocy i dziekuje wszystkim ktorzy pomoga.
Go to the top of the page
+Quote Post
Cienki1980
post 6.02.2007, 15:28:00
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 590
Pomógł: 40
Dołączył: 11.01.2007
Skąd: Centrum

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


Nie musisz mieć dwóch tabel aby zawiadywać kategoriami i podkategoriami. Jedna tabela taka jak pokazał frickle jest idealna do tego celu.
Id_rodzica to po prostu id kategorii wyższej. W tym przykładzie co podałeś
CHEMIA >> id=1 >> id_rodzica=0 >> kategoria główna
odmrazacz>> id=2 >> id_rodzica=1 >> podkategoria id_rodzica wskazuje na to, że odmrazacz nalezy do kategorii CHEMIA.

Taki układ tabeli pozwala na tworzenie dowolnej ilości zagłębień, możesz każdą kategorię podzielić na wiele podkategorii i każdą podkategorię podzielić dalej na podkategorię .. itd itd

Jeżeli jesteś pewny, że będziesz miał tylko dwa poziomy ( czyli tak jak pokazałeś w swoim przykładzie ) wystarczą Ci dwie tabele, ale odpowiednio połączone


--------------------
404
Go to the top of the page
+Quote Post
nama
post 20.09.2010, 10:36:22
Post #5





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 23.03.2006

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


Witam serdecznie,
Na wstępie przeproszę za odgrzewanie starego kotleta. Mam jednak pytanie idealnie pasujące do tego tematu. Mianowicie jak zapisać pętlę aby wyświetlić jednocześnie kategorię oraz od spodem produkty z danej kategorii.

-Kategoria1
----produkt1
----produkt2
----produkt3
----produkt4

-Kategoria2
----produkt1
----produkt2
----produkt3
----produkt4

-Kategoria3
----produkt1
----produkt2
----produkt3
----produkt4
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: 19.07.2025 - 17:08