listo, aquí esta el ejemplo.
modifique un poco la función, asi que fijate bien....
saludos
Código PHP:
function crearArbol($tabla,$id_field,$show_data,$link_field,$parent,$prefix){
/*Armar query*/
$sql='select * from '.$tabla.' where '.$link_field.'='.$parent;
/*Asumiendo que se usa MySQL (se puede cambiar facilmente a otra db)*/
if ($parent != 0 && $prefix == '') $prefix = '--';
$rs=@mysql_query($sql);
if($rs){
/*Recorrer todos las entradas */
while($arr=mysql_fetch_array($rs)){
/* Imprimir campo a mostrar*/
echo('<option value="' . $arr[$id_field] . '">' . $prefix . $arr[$show_data] . '</option>' . chr(13));
//echo($prefix.$arr[$show_data].'<br>');
/* imprimir arbol the "hijos" de este elemento*/
crearArbol($tabla,$id_field,$show_data,$link_field,$arr[$id_field],$prefix.$prefix);
}
}
}
echo('<select name="nombre">' . chr(13));
crearArbol('localizacion','id_localizacion','localizacion','id_padre',0,'');
echo('</select>');