function tree($data,$mom=0,$level=0){
foreach($data as $row){
if($row['mother']==$mom){
echo str_repeat("-",$level).$row['name']."<br>";
tree($data,$row['id'],$level+1);
}
}
}
myślę to naprawia twój kod. Czy możesz podać $data
więc mogę to przetestować?