el script de las faq no me imprime ninguna solución,
mi tabla es de la típica
id_localización. (el id auto numérico)
id_padre (indica la relación entre los elementos de la tabla)
localización (el nombre del término).
también he utilizado la recursividad que ofrecía otro aforado, pero no se como ponerle profundidad a la lista que despliega, o indicarle el value al checkbox.
Un saludo y gracias
oskar
pd: el código de la función arbol es:
Código PHP:
<?php
/*
funcion generica
Parametros:
$tabla = Nombre de la tabla en la DB --> localizacion
$id_field = Nombre del campo llave de la tabla --> id_localizacion
$show_data = Campo a mostrar en el arbol --> hijo
$link_field= Campo que establece la relacion padre hijo -->id_padre
$parent = padre actual -->
$prefix = string con un campo a mostrar en cada entrada del arbol
*/
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)*/
$rs=@mysql_query($sql);
if($rs){
/*Recorrer todos las entradas */
while($arr=mysql_fetch_array($rs)){
/* Imprimir campo a mostrar*/
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);
}
}
}
/*
ahora, asumiendo que se tiene una tabla con una estructura
como la mencionada anteriormente se utilizaria asi:
*/
?>
<?
crearArbol('localizacion','id_localizacion','hijo','id_padre',0,'-');
/*
lo cual tendra un output algo asi (dependiendo de los datos):
-categoria1
--categoria2
-categoria3
--categoria4
----categoria5
*/
?>