![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Stworzyłem sobie tabele w MySQL i mam w niej cat_id, cat_name, cat_parent Kategorie i podkategorie wyświetlam takim sposobem
wszystkie podkategorie i w nich artykuły wyświetlają się dobrze ale jak zrobić żeby po kliknięciu na kategorie wyświetlić wszystkie artykuły z podkategorii ? |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Trochę nie na temat, ale jak widzę takie "stwory" to aż mnie skręca.
Robisz w pętli zapytania - strasznie nieoptymalne. Takie rzeczy załatwia się jednym zapytaniem: http://nospor.pl/grupowanie-wynikow.html -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki.
tylko chciał bym przechowywać kategorie i subkategorie w jednej tabeli a więc zacząłem robić taki kod:
pierwszy warunek wyświetla mi dobrze w tablicy kategorie a subkategorii już nie widok print_r:
Ten post edytował ghastblood 22.02.2011, 15:50:33 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Przecież cat_parent i cat_id nie mogą być jednocześnie takie same
Od kiedy to rodzic wskazuje na samego siebie? Pozatym nawet jeśli dane masz w jednej tabeli to bez problemu możesz zrobić wg. schematu co podałem. Po prostu LEFT JOIN będzie wskazywal na tę samą tabelę ale z innymi warunkami -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Cytat Przecież cat_parent i cat_id nie mogą być jednocześnie takie same a to dlaczego przecież cat_parent ma wskazywać id głównej kategorii np: id nazwa rodzic 1 kategoria 0 2 subkategoria 1 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
$pid = $row['cat_parent'];
$cid = $row['cat_id']; Przeciez ty parenta i id kategorii pobierasz z tego samego rekordu. W tym samym rekordzie parent i id kategorii nie mają prawa być takie same ![]() -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 360 Pomógł: 12 Dołączył: 17.09.2009 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za podpowiedzi, już rozumiem gdzie robiłem błąd
![]() |
|
|
-RONINZGR- |
![]()
Post
#8
|
Goście ![]() |
Szkoda tylko że skrypt jest do drugiej głębokości kategorii. Szukam rozwiązania nieograniczonego czyli że mogę tworzyć tyle "głębokości" ile mi się tylko podoba. Próbowałem dodać jakieś usprawnienia niestety jednak nic mi już nie przychodzi do głowy... Może jeszcze jakieś ciekawe rady w tym temacie?
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To już podchodzi pod normalne drzewo. Musisz więc poczytać o drzewach (tree)
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:51 |