![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 11.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam, w swoim skrypcie użyłam funkcji znalezionej na tym forum do rysowania drzewa kategorii:
function set_tree($nodeLevel=1, $nodeParent=0) { $sql="SELECT * FROM offers WHERE parent = $nodeParent"; $nodeElements = mysql_query($sql); $margin = $nodeLevel * 10; while( $nodeEl=mysql_fetch_assoc($nodeElements)) { echo "<tr><td style=\"padding-left:".$margin."px;\">".$nodeEl['name']."</td></tr>"; //$m[]="<tr><td style=\"padding-left:".$margin."px;\">".$nodeEl['name']."</td></tr>"; set_tree($nodeLevel+1, $nodeEl['id']); } //return $m; } I nie wiem czemu gdy odkomentuje funkcję, tak aby zwracała tablicę (lub po prostu string $m.="<tr><td style.....") to zawiera ona co innego niż to co wypisuje funkcja echem. Dla przykładu, w tabeli offers mam 4 rekordy: --Lista ofertowa ----Eksport leków gotowych ----Eksport substancji farmaceutycznych --Pozostałe leki 'Echo' wypluwa wszystko prawidłowo i po kolei przy wywołaniu funkcji: $moo=set_tree(); natomiast var_dump($moo) (czy też echo $moo przy zamianie tablicy na stringa) wypluwa tylko "Listę ofertową" i "Pozostałe leki". o co chodzi?:[ |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Dlatego ze przy kazdym kolejnym rekurencyjnym wywolaniu set_tree() $m jest puste, albo zrob $m globalna zmienna, albo sprobuj tak (nie testowalem)
Zmienilem nazwe funkcji na get_tree, bo zwraca drzewo a nie je ustawia ![]() Ten post edytował NoiseMc 14.09.2007, 15:06:34 -------------------- |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 11.01.2007 Ostrzeżenie: (0%) ![]() ![]() |
wrzuciłam globalną i gra
![]() przy array_merge wywaliło mi, że drugi argument nie jest tablicą (?) - ale nie mam czasu tego rozgryzać dzięki i pozdrawiam :-)) |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 398 Pomógł: 10 Dołączył: 24.11.2004 Skąd: Łódź Ostrzeżenie: (0%) ![]() ![]() |
Jezeli get_tree nie zwroci nic to faktycznie nie bedzie tablica, moznaby to jeszcze poprawic:
Ten post edytował NoiseMc 14.09.2007, 15:29:41 -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 19:46 |