necesito dibujar un arbol, mas bien un tipo,de organigrama, y lo puedo hacer on una funcion recursiva, si tienes otra idea, o sabes de alguna pagina en que salga algo relacionado, porfavor posteala
gracias
| |||
El Php Es Recursivo???, necesito dibujar un arbol, mas bien un tipo,de organigrama, y lo puedo hacer on una funcion recursiva, si tienes otra idea, o sabes de alguna pagina en que salga algo relacionado, porfavor posteala gracias |
| |||
Re: El Php Es Recursivo???, Hola, si efectivamente, con PHP puedes programar funciones recursivas. Yo hice algunas pruebas y me funcionó. Ahora si, para dibujar el organigrama, tendras que tener en cuenta, no consumir mucha memoria, ya que se te llenará el stack. Cuando lo implementes, postea el código! Saludos! <font face=Verdana size=2 color=#006699>Nok;)<br>Juan Pablo Winiarczyk<br>Neuquen - Patagonia Argentina[/CODE] |
| |||
Re: El Php Es Recursivo???, okas gracias, ya escribi el algoritmo, el organigrama es super simple , logicamente , es sobre cargos en una empresa, enlazados a un cargo superior mediante la clave de este, la idea es desplegar la estructura , la verdad es que con tablas no se como lo voy a hacer , pero debo tenerlo para hoy si es posible y no flojeo tanto jejeje, y porsupuesto posteare el codigo |
| |||
Re: El Php Es Recursivo???, Acuerdate de usar: set_time_limit(0); Por si tienes problemas con el tiempo de ejecucion de tu script recursivo. Con esta funcion dejas q PHP tarde lo que tarde para realizar dicha operación. Un saludo, |
| |||
Re: El Php Es Recursivo???, yap , lo hice , lo unico si es que no puedo graficarlo de alguna manera, les posteo la funcion, use de base la funcion clasica para recorrer arboles binarios con dos enlaces, solo que este rea con uno solo. function PlotCargo($Id){ $select= "SELECT " ."nuke_ISS_cargos.id, " ."nuke_ISS_cargos.id_cargosup, " ."nuke_ISS_cargos.nombre " ."FROM " ."nuke_ISS_cargos " ."WHERE " ."nuke_ISS_cargos.id_cargosup = '$Id' " ."ORDER BY nuke_ISS_cargos.id_cargosup "; $result = mysql_query($select) or die(_DBERROR.$select); if (mysql_num_rows($result) == 0){ return; }else{ while(list($idresult,$nombreresult)=mysql_fetch_ro w($result)){ echo "Padre: $Id -> Hijo: $idresult [ $nombreresult ]"; PlotCargo($idresult); } } } la prim era vez entra con el valor del nodo maximo, el gran jefe, el cabron y luego hace su trabajo, PORFAVOR , SI TIENES ALGUNA IDEA DE COMO GRAFICAR ESTO POSTEALO PORFA, yo estoy tratando de hacerlo con tablas pero se me hace muy dificil |
| |||
Re: El Php Es Recursivo???, Bueno aca esta el codigo, destaco que esto es parte de un modulo que estoy haciendo para PostNuke 7.1, .ademas solo se puede graficar horizontalmente, esta implementado en base al algoritmo para recorrer arboles n-arios igual con un poco de formateo se ve mas bonito. el parametro IdOrg corresponde a la clave de organigrama que estamo desplegando como la empresa es grande, puede tener varios prganigramas, por pais o por oficina o departamente antes de entrar en la funcion recursiva debe sdarsele como primer parametro la ID del nodo padre. asi la funcion buscara recursivamente los nodos que estan ligados al nodo padre y los deplegara
Código:
eso es mas o menos, saludos y buena suerte echo "<center><font class=\"pn-pagetitle\">"._SHOWCARGOS."</font></center><br>"; $select= "SELECT " ."nuke_ISS_cargos.id, " ."nuke_ISS_cargos.nombre, " ."nuke_ISS_empleados.nombres, " ."nuke_ISS_empleados.apellidos " ."FROM " ."nuke_ISS_cargos, " ."nuke_ISS_empleados " ."WHERE " ."nuke_ISS_cargos.id_empleado = nuke_ISS_empleados.id AND " ."nuke_ISS_cargos.id_organ = '$IdOrg' AND " ."nuke_ISS_cargos.id_cargosup = '-1' "; $result= mysql_query($select) or die(_DBERROR.$select); if (mysql_num_rows($result) == 0){ header("location: admin.php?module=ISSCAR&op=cargos&msg="._ERR_NOORGANIGRAMAS.""); }else{ list($id,$cargo,$nombres,$apellidos) = mysql_fetch_row($result); //Dibujando la tabla... echo "<table border=\"0\" bgcolor=\"#EEEEEE\" cellpadding=\"0\" cellspacing=\"5\" width=\"100%\"><tr>"; echo "<td bgcolor=\"#FFFF00\"><b>$cargo</b><br>$nombres $apellidos<br></td>"; //Funcion recursiva que recorre el organigrama y lo dibuja PlotCargo($id); echo "</tr></table>"; } |