![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
Problem jest nastepujacy :
Mam funkcje rekurencyjną :
Pobiera ona kategorie z bazy ulozone w drzewo - znaczy kazda kategoria ma przyporzadkowany Parent - i funkcja wyswietla od przekazanego $id parenta "w dół do końca" Problem jest taki ze chcialbym wiedziec jaka jest "głębokosc" na danej kategorii aby drzewko odpowiednio ułozyc z tabulacjami (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) jedyne co mi sie nasuwa to : a) przed wywolaniem funkcji utworzyc sobie iterator powiedzmy $i i zwiększać jego wartość o jeden w Funkcji.... (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) pobierajac dane z bazy przy każdej kategorii pobierac pełną listę jego parentów.... Rozwiazanie a) jest fajne wydajnościowo ale troche niepraktyczne - bez zadeklarowania zmiennej przed funkcją nie mam możliwosci liczenia "głębokosci" - co w sumie tworzy dosc nieprzejrzystą konstrkcję. (IMG:http://forum.php.pl/style_emoticons/default/cool.gif) rozwiazanie dosc przyjemne bo wygodne w użyciu ale odpada pod wzgledem wydajnosciowym..... Wiec ma ktos moze pomysł jak rozwiązać taki problem bez użycia iteratorów poza funkcją ? a jesli musze użyc jakiegos zapytania SQL to niech to beda jakies 3 a nie po jednym zapytaniu per kategoria..... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 148 Pomógł: 0 Dołączył: 16.06.2003 Ostrzeżenie: (0%) ![]() ![]() |
yyy nie rozumiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) mozez objasnic dokladnie ?
A konkretnie.... jaka jest roznica wtedy powiedzy GetTree a getChilds ? Get Tree printuje mi wszystkie childy az do konca drzewa.... nie kumam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) OK napisalem takie cos :
i dziala (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) dzieki - nigdy byum nie pomyslal ze mozna to rozbuc na 2 funkcje i wtedy sie tak ladnie prosto robi (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ten post edytował Yacho 2.12.2005, 22:17:56 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 2.10.2025 - 21:10 |