Ver Mensaje Individual
  #15 (permalink)  
Antiguo 08/04/2005, 18:34
Avatar de nicolaspar
nicolaspar
 
Fecha de Ingreso: noviembre-2004
Ubicación: Villa Ballester Bs-As|Ar
Mensajes: 2.002
Antigüedad: 19 años, 4 meses
Puntos: 34
Acá lo prometido:
La función php es la siguiente:

Código PHP:
function arbol(&$conexion,$inicio,$pais,$idioma){
 
$str ='';
 
$aux=mysql_query("select s.codigo, s.padre, s.nombre from secciones s where padre ='".$inicio."' and idioma = '".$idioma."' and pais = '".$pais."' and estado =1",$conexion);
 while(
$r=mysql_fetch_row($aux)){
 
$str .= "d.add(".$r[0].",".$r[1].",'".$r[2]."','secciones_modificar.php?padre=".$r[1]."','secciones_modificar.php?codigo=".$r[0]."','secciones_borrar.php?codigo=".$r[0]."');\n";
    
$str .=arbol($conexion,$r[0],$pais,$idioma); 
 }
 
mysql_free_result($aux);
 return 
$str;

Luego, incluis la conexión a la db y llamas a la funcion:

Código PHP:
<script type="text/javascript">
d = new dTree('d');
d.add(0,-1,'Secciones');
<?php  if(arbol($conexion,0,0,0)==''){#Esto nunca me gusto mucho?>
        document.write(d);
<?php  
        
echo 'document.write("<a href=paginaCreaSeccion.php>Nueva Seccion.</a><br>&nbsp;<br>");';
      }else{
        echo 
arbol($conexion,0,0,0);
  
?>
        document.write(d);
<?php}?>
</script>
Ahora la db es la siguiente en mi caso:

Cita:
CREATE TABLE `secciones` (
`codigo` int(10) unsigned NOT NULL auto_increment,
`nombre` varchar(255) default NULL,
`idioma` int(10) unsigned default '0',
`pais` int(10) unsigned default '0',
`padre` int(10) unsigned default '0',
`template` int(10) unsigned default '0',
`nav` tinyint(1) default '0',
`header` tinyint(1) default '0',
`footer` tinyint(1) default '0',
`popup` tinyint(1) default '0',
`contenido` tinyint(1) default '0',
`orden` int(10) default '0',
`estado` tinyint(1) default '1',
PRIMARY KEY (`codigo`)
) TYPE=MyISAM;
Obviamente, como verás, hay campos que son especificos de mi caso, y que no usaras, como template, idioma, país, header, etc...lo unico qu ete interesa es el codigo y el padre en si.
Luego, la función va llamando a un objeto en js, para el cual he usado el del sitio: http://www.destroydrop.com/javascripts/tree/ y he adaptado a mis necesidades.
Este es una captura del resultado final:http://estudiowas.com.ar/images/forosdelweb.gif

tambien podes usar otros tree como ser:
http://www.treemenu.net/treemenu/3fr_beenthere.html

Espero te sirva de algo esto.
PD: lastima que es algo que nunca pude terminar
__________________
Mi punto de partida es Que Bueno Lo Nuevo