Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jak zrobic kategorie z podkategorie w mysql
Forum PHP.pl > Forum > Bazy danych > MySQL
gumis1
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
frickle
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.
gumis1
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.
Cienki1980
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
nama
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
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.