Code:
array_push($niz, display_children($row['parent_id'], $level+1)) ;
Šta tebi vraća funkcija display_children, pa stavljaš u niz? Koliko vidim, ništa.
(Verovatno neće raditi, vidi ispod)
Code:
function display_children($category_id, $level)
{
global $database;
$result = mysql_query("SELECT * FROM parents WHERE id_roditelja='$category_id'") or die(mysql_error());
$broj = $database->num_rows($result);
$niz = array();
$str = '';
while ($row = mysql_fetch_array($result))
{
$str = str_repeat(' ',$level) . $row['naziv'] . "-> ";
array_push($niz, display_children($row['parent_id'], $level+1)) ;
var_dump($niz);
}
return $str;
}
A na drugi pogled, nemaš ni uslov završetka rekurzije, već ulaziš beskonačno unutra (SQL naredba ne zavisi od $level promenljive, ako jednom vrati red, uvek će). Ne znam ni zašto stalno praviš novi niz, i šta bi u njemu trebalo da bude. Razmisli malo bolje o rešenju, ovde imaš mnogo problema.