Autor Zpráva
Jiří Vích
Profil *
Ahoj lidi!

Mám problém s rekurzivní funkcí vypisující stromovou strukturu z databáze.
Mam tabulku, kde jsou sloupce ID, rodic.

Obsah tabulky:
ID 	rodic
1	0
2	1
3	1
4	3
5	3
6	3


Očekávám vypsaní ve formátu:
1
- 2 
- 3
- - 4
- - 5
- - 6


Rekurze ovšem vypíše toto:
2
- 3
- 4
- - 5
- - - 6


Funkce a její použití je zde:
function getTree($parent, $level) { 
  $result = mysql_query('SELECT * FROM strom WHERE rodic='.$parent); 
  while ($row = mysql_fetch_assoc($result)) { 
    echo str_repeat("- ",$level).$row['ID']."<br />"; 
    getTree($row['ID'], $level++); 
  }
}
		  
getTree(0,0);


Nevíte, prosím, kde by mohl být problém?
Za každou radu budu velmi vděčný.

Díky!
xmark
Profil
S každým průchodem tím cyklem tu proměnnou $level inkrementuješ. Na první přiblížení mám pocit, že by stačilo pátý řádek upravit takto:

getTree($row['ID'], $level+1);
Jiří Vích
Profil *
xmark:
Máš pravdu. Takový detajl a jak to dokáže zkomplikovat. Díky moc!!
Lamicz
Profil
.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0