Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> kategorie i podkategorie - baza
Apo
post 16.12.2006, 13:01:15
Post #1





Grupa: Zarejestrowani
Postów: 426
Pomógł: 1
Dołączył: 2.10.2005

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


Witam
Mam pytanie jak wydajnie przechowywać informacje o podkategoriach i kategoriach danego produktu. Trzeba ropatrzeć problem że głowna kategoria może nie mieć podkategorii lub mieć ich nieskończoną ilość, gdzie na znajduje sie dany produkt. Nie wiem zabardzo jak zorganizować to w bazie, gdzie zapisac kategorie głowne, podkategorie i wkońcu jak przypisać te wszystkie kategorie i podkategorie do danego produktu aby można go było łatwo przenosić (np tak jak te forum).

Pozdrawiam
Go to the top of the page
+Quote Post
wipo
post 16.12.2006, 13:26:40
Post #2





Grupa: Zarejestrowani
Postów: 856
Pomógł: 19
Dołączył: 30.08.2005
Skąd: 100lica

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


W tabeli kategorie masz pole matka które okresla ID rekordu nadrzędnego. Jezeli jest to główna kategoria wrzucasz 0.
Wtedy funkcją rekurencyjną tworzysz menu itp


--------------------
Go to the top of the page
+Quote Post
heaven
post 16.12.2006, 13:34:26
Post #3





Grupa: Nieautoryzowani
Postów: 92
Pomógł: 15
Dołączył: 21.10.2006

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


->Metoda 5<- jest ciakawa ale mozesz wybrac prostsza.

np.

  1. CREATE TABLE categories
  2. (
  3. categories_id int UNSIGNED NOT NULL AUTO_INCREMENT,
  4. parent_id int UNSIGNED,
  5. categories_name varchar(255),
  6.  
  7. ....
  8.  
  9. PRIMARY KEY (categories_id)
  10.  
  11. );


potem tabelka wiazaca product z kategoria (oprzydatna jesli jakis produkt moze wystepowac w dwoch kategoriach jednoczesnie)

  1. CREATE TABLE products_to_categories
  2. (
  3. products_id int UNSIGNED NOT NULL,
  4. categories_id int UNSIGNED NOT NULL,
  5. PRIMARY KEY (products_id, categories_id)
  6. );


no i

  1. CREATE TABLE products
  2. (
  3. products_id int UNSIGNED NOT NULL AUTO_INCREMENT,
  4. manufactures_id int UNSIGNED DEFAULT NULL,
  5. products_name varchar(255) NOT NULL,
  6. products_quantity int NOT NULL,
  7.  
  8. ....
  9.  
  10. PRIMARY KEY (products_id)
  11. );


taki sobie przyklad...
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 - 10:37