![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Hej
Mam typowo tabelkę kategorii:
teraz jak stworzyć stworzyć zapytanie aby pobrać wszystkie kategorie nadrzędne dla kategorii o id 4 i 5. Tak żeby też nie było zdublowania kategoria o id 3 , do której należą kategorie 4 i 5. Docelowo chce uzyskać drzewo -kategoria --subkategoria ---ostatnia podkategoria ---ostatnia podkategoria 2 obecnie mam takie zapytanie:
i otrzymuje drzewko w górę ale tylko dla podkategorii ID 4. Moglbym wykonac ponownie te zapytanie dla ID 5 ale otrzymam znowu drugie drzewko... chyba ze bym wykonal dwa takie zapytania dla kazdego ID odzielnie (4,5) wrzucil rezultaty do tablicy php i nastepnie polaczyl te tablice ze sobą z wykluczeniem zdublowanych id kategorii.. hmmm jest to jakies rozwiazanie ale chyba malo optymalne robic odzielne takie zapytania dla kazdego ID odzielnie biorac pod uwage ze moze byc ich nawet 100 Ten post edytował netvalue 28.08.2014, 14:27:54 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Znień strukturę jeżeli to możliwe na nested set
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
teraz niesety na tym etapie to juz nie mozliwe
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
No to pobieraj wszystkie kategorie hurtem, pakuj w cache i w skrypcie sobie to przeleć, będzie szybciej, łatwiej i mniej problemów.
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Python jest to co prawda jakies rozwiazanie ale ponad tych kategorii jest za duzo zeby tak je obrabiac
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Jaka baza takie rozwiązania. Zamiast kombinować w SQL szybciej i czytelniej zrobisz to w PHP
PS. A ile masz tych kategorii łącznie? 1k? Ten post edytował Pyton_000 29.08.2014, 17:05:09 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
około 110k
Ten post edytował netvalue 29.08.2014, 20:51:20 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Zawsze możesz pobrać tylko ID i parent_id i przemielić. a potem dociągasz dane opisowe dla danych ID
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
A zaglebienie do jakiego max poziomu dochodzi?
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 199 Pomógł: 2 Dołączył: 9.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
To z racji, ze masz tak skaszanianioną te strukture, to obrabiaj to w php.
Najpierw pobierz ostatnią kategorie, potem w php pobierz jej rodzica, potem pobierz rodzica rodzica.. Będą to raptem 3 zapytania i będie to dzialalo w miare szybko. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 19:43 |