Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kategoria i podkategorie, jak to zrobić?
pc5
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 0
Dołączył: 10.03.2005

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


Witam ponownie!

Mój problem polega na tym że potrzebuję zrobić system przeglądania wpisów, z których każdy ma jakąś kategorie główną i podkategorie. Liczba kategori i podkategori jest dynamiczna, użytkownik sam sobie je definiuje.

PROBLEM :
Jak wstawić takie coś do bazy MySqla? Jak potem stworzyć zapytanie, w którym wybieramy wpisy z danej kategori lub podkategori? Głównie problem polega na tym że do bazy trzeba wstawić więcej niż 1 podkategorie.

Mam już kolumnę "Kategoria", myślałem nad stworzeniem drugiej kolumny "Podkategorie", ale co tam wstwaić? Stringi nazw kategori oddzielone przecinkami, potem ewentualnie rozbijać to przy użyciu funkcji expolde z php? Cały czas rozbijam się o to że w 1 kolumnie może być własnie te pare podkategori.

Niestety nie mogę dodać sobie komumn "Podkategoria_1", "Podkategoria_2" itd.

Myślałem nad typem enum... ale to chyba nie zda egzaminu.

Moja pierwsza propozycja jest taka :
Nazwy kategori zapisac jako string, rozdzielone przecinkami, kazda nazwa bedzie miala swoj znak konca i poczatku stringu, tzn. zapis bedzie mniej wiecej taki :
@nazwa kategori 1@, @nazwa kategori 2@... itd gdzie znaki @ to poczatek i koniec stringu. Potem dajemy tylko wyszukiwanie przez SELECT i w WHERE dajemy 'Podkategorie' LIKE '@%nazwa kategori szukanej%@'. Może nawet obejdzie się bez %.

Jakieś pomysły?

Ten post edytował pc5 19.04.2005, 21:00:09
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 561
Pomógł: 6315
Dołączył: 27.12.2004




tabela kategorie (kolumny):
Cytat
ID
NAME
.....jakies tam jeszcze jakie bedą ci potrzebne
PARENT


gdzie, ID to ID kategorii
NAME - nazwa kategoriii
.....
PARENT to ID kategori nadrzędnej do danej. Jesli to ID jest null, znaczy się że dana kategoria nie jest podkategorią innej. Jesli to id jest ustawione, znaczy że dana kategoria jest podkategorią innej o podanym ID.

To jest dość powszechne stosowane rozwiązanie
Go to the top of the page
+Quote Post

Posty w temacie


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: 28.12.2025 - 23:55