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 |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 61 Pomógł: 0 Dołączył: 10.03.2005 Ostrzeżenie: (0%)
|
Cytat(nospor @ 2005-04-20 09:41:27) W rozwiązaniu co Ci podałem dla danej kategorii może istnieć nawet i milion podkategorii i to nie stanowi problemu. Każda kategoria ma swój unikalny ID. On nic nie mówi o kategori czy podkategorii. Dopiero gdy masz ustawiony PARENT, to wiesz, że dana kategoria jest podkategorią kategorii o ID w PARENT. przykład (tabela kategoria): Cytat ID | NAME | PARENT 1 | KAT1 | null 2 | PKAT1| 1 3 | PKAT2| 1 4 | KAT2 | null 5 | PKAT3| 4 6 | PKAT4| 4 KAT1 -----PKAT1 -----PKAT2 KAT2 -----PKAT3 -----PKAT4 Rozjaśniło się trochę? Dobrze, ale to przecież jest przypisanie tylko do tabeli Kategorie. Cały czas chodzi o to że mam np. wpisy id nazwa_firmy kategoria_id podkategorie 0 Onet 5 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? 1 Wp 5 (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ? itd. itd. gdzie mam zdefiniowaną tabelę Kategorie a w niej tylko nazwy kategori i ich id, które są dodawane do pól w tabeli 'Wpisy' czyli id nazwa_kategori 5 Portale 7 Wyszukiwarki 10 Rejestracja 11 Internet 12 e-mail itd itd... każdy wpis moze mieć tylko jedną kategorię główną z tabeli 'Kategorie', ale podkategori może mieć więcej. '?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ' oznacza własnie moją niewiadomą. Co tam wstawić? najrpościej id podkategori, czyli id kategori z tabeli 'Kategorie', ale problem polega na tym że skonstruować potem zapytanie i edytować podkategorie takiego wpisu może być ciężko. Teoretycznie chce mieć w tym polu np. dla wpisu o id 0 z tabeli 'Wpisy' (czyli onet) podkategorie 6,12,11 i moze inne, a dla Wp, chce miec juz inne np. 10 11 Przepraszam jeżeli czegoś nie rozumiem i totalnie nie trafiam w sedno sprawy. Być może to jest rozwiązanie, ale jakoś nie wiem jak to wykorzystać. Cały czas jestem przekonany że w tabeli 'Kategorie', przez proponowane rozwiązanie, definiujemy na stałe co jest podkategorią czego itd, a tutaj zupełnie nie o to chodzi, każdy wpis ma swój system gdzie jest kategoria i różne podkategorie. Jest ciężko, ale dzieki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) |
|
|
|
pc5 Kategoria i podkategorie 19.04.2005, 20:40:16
nospor tabela kategorie (kolumny):
CytatID
NAME
.....jaki... 20.04.2005, 07:55:16
pc5 Cytat(nospor @ 2005-04-20 06:55:16)tabela kat... 20.04.2005, 10:33:55
nospor W rozwiązaniu co Ci podałem dla danej kategorii mo... 20.04.2005, 10:41:27
nospor Skoro już tak bardzo upierasz się przy swoim rozwi... 21.04.2005, 08:16:19
pc5 Wydaje mi się że znalazlem prostsze rozwiązanie, t... 21.04.2005, 12:49:08
nospor Twoje rozwiązanie ma poważną wadę.
Przykładowo:
Ż... 21.04.2005, 12:53:44 ![]() ![]() |
|
Aktualny czas: 27.12.2025 - 01:29 |