Comunidad de diseño web y desarrollo en internet online

Creación dinámica de tabla

Citar            
MensajeEscrito el 24 Feb 2011 05:23 pm
Buenas tardes a todos. Les comento, el caso es que me he topado con una tabla que no consigo diseñar dinámicamente. El objetivo es mostrar una tabla con un pedigree, es decir, padres, abuelos, etc...

El diseño de la tabla estáticamente sería así (con php cargo los códigos que me interesan, ese no es el problema:

Código PHP :

echo '<table border="1">';
echo "<tr>";
echo "   <td rowspan='16'>" . nombre_pajaro($el) . "</td>";
$el1 = padre_pajaro($el, 'idPadre');
echo "   <td rowspan='8'>(el1)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el1) . "'>" . nombre_pajaro($el1) . "</a></td>";
$el2 = padre_pajaro($el1, 'idPadre');
echo "   <td rowspan='4'>(el2)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el2) . "'>" . nombre_pajaro($el2) . "</a></td>";
$el3 = padre_pajaro($el2, 'idPadre');
echo "   <td rowspan='2'>(el3)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el3) . "'>" . nombre_pajaro($el3) . "</a></td>";
$el4 = padre_pajaro($el3, 'idPadre');
echo "   <td rowspan='0'>(el4)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el4) . "'>" . nombre_pajaro($el4) . "</a></td>";
echo "</tr>";
$el5 = padre_pajaro($el3, 'idMadre');
echo "   <td rowspan='0'>(el5)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el5) . "'>" . nombre_pajaro($el5) . "</a></td>";
echo "<tr>";
$el6 = padre_pajaro($el2, 'idMadre');
echo "   <td rowspan='2'>(el6)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el6) . "'>" . nombre_pajaro($el6) . "</a></td>";
$el7 = padre_pajaro($el6, 'idPadre');
echo "   <td rowspan='0'>(el7)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el7) . "'>" . nombre_pajaro($el7) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el8 = padre_pajaro($el6, 'idMadre');
echo "   <td rowspan='0'>(el8)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el8) . "'>" . nombre_pajaro($el8) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el9 = padre_pajaro($el1, 'idMadre');
echo "   <td rowspan='4'>(el9)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el9) . "'>" . nombre_pajaro($el9) . "</a></td>";
$el10 = padre_pajaro($el9, 'idPadre');
echo "   <td rowspan='2'>(el10)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el10) . "'>" . nombre_pajaro($el10) . "</a></td>";
$el11 = padre_pajaro($el10, 'idPadre');
echo "   <td rowspan='0'>(el11)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el11) . "'>" . nombre_pajaro($el11) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el12 = padre_pajaro($el10, 'idMadre');
echo "   <td rowspan='0'>(el12)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el12) . "'>" . nombre_pajaro($el12) . "</a></td>";

echo "</tr>";
echo "<tr>";
$el13 = padre_pajaro($el9, 'idMadre');
echo "   <td rowspan='2'>(el13)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el13) . "'>" . nombre_pajaro($el13) . "</a></td>";
$el14 = padre_pajaro($el13, 'idPadre');
echo "   <td rowspan='0'>(el14)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el14) . "'>" . nombre_pajaro($el14) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el15 = padre_pajaro($el13, 'idMadre');
echo "   <td rowspan='0'>(el15)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el15) . "'>" . nombre_pajaro($el15) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el16 = padre_pajaro($el, 'idMadre');
echo "   <td rowspan='8'>(el16)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el16) . "'>" . nombre_pajaro($el16) . "</a></td>";
$el17 = padre_pajaro($el16, 'idPadre');
echo "   <td rowspan='4'>(el17)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el17) . "'>" . nombre_pajaro($el17) . "</a></td>";
$el18 = padre_pajaro($el17, 'idPadre');
echo "   <td rowspan='2'>(el18)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el18) . "'>" . nombre_pajaro($el18) . "</a></td>";
$el19 = padre_pajaro($el18, 'idPadre');
echo "   <td rowspan='0'>(el19)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el19) . "'>" . nombre_pajaro($el19) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el20 = padre_pajaro($el18, 'idMadre');
echo "   <td rowspan='0'>(el20)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el20) . "'>" . nombre_pajaro($el20) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el21 = padre_pajaro($el17, 'idMadre');
echo "   <td rowspan='2'>(el21)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el21) . "'>" . nombre_pajaro($el21) . "</a></td>";
$el22 = padre_pajaro($el21, 'idPadre');
echo "   <td rowspan='0'>(el22)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el22) . "'>" . nombre_pajaro($el22) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el23 = padre_pajaro($el21, 'idMadre');
echo "   <td rowspan='0'>(el23)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el23) . "'>" . nombre_pajaro($el23) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el24 = padre_pajaro($el16, 'idMadre');
echo "   <td rowspan='4'>(el24)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el24) . "'>" . nombre_pajaro($el24) . "</a></td>";
$el25 = padre_pajaro($el24, 'idPadre');
echo "   <td rowspan='2'>(el25)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el25) . "'>" . nombre_pajaro($el25) . "</a></td>";
$el26 = padre_pajaro($el25, 'idPadre');
echo "   <td rowspan='0'>(el26)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el26) . "'>" . nombre_pajaro($el26) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el27 = padre_pajaro($el25, 'idMadre');
echo "   <td rowspan='0'>(el27)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el27) . "'>" . nombre_pajaro($el27) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el28 = padre_pajaro($el24, 'idMadre');
echo "   <td rowspan='2'>(el28)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el28) . "'>" . nombre_pajaro($el28) . "</a></td>";
$el29 = padre_pajaro($el28, 'idPadre');
echo "   <td rowspan='0'>(el29)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el29) . "'>" . nombre_pajaro($el29) . "</a></td>";
echo "</tr>";
echo "<tr>";
$el30 = padre_pajaro($el28, 'idMadre');
echo "   <td rowspan='0'>(el30)<a href='pedigri_pajaro.php?cod=" . nombre_pajaro($el30) . "'>" . nombre_pajaro($el30) . "</a></td>";
echo "</tr>";
echo "</table>";


El lío me lo he encontrado a la hora de intentarla hacer dinámicamente, es decir, pudiendo cambiar el número de generaciones que se muestran... Me lío con los for, los rowspan y demás. Hace tiempo que no me encontraba una dificultad de estas con php :lol: :lol: a ver si alguien se encontró en una similar y me da una ayudita

En cualquier caso acepto también alternativas más simples :lol: :lol:

Gracias a todos, un saludo.

Por Yranac

421 de clabLevel



Genero:Masculino  

Lugo, Galicia

firefox
Citar            
MensajeEscrito el 25 Feb 2011 07:52 am
y si utilizas divs en vez de tablas? seguro que te resultaría bastante más fácil hacerlo que con una tabla en la cual tienes que controlar rowspans y colspans. Lo maquetas con CSS y te queda igual o mejor que con una tabla. No obstante si quieres ayuda en cuanto a esto agradeceria que mostraras el código completo.

Un saludo

Por rosillo83

18 de clabLevel



 

Desarrollador Web PHP&MySQL

firefox
Citar            
MensajeEscrito el 25 Feb 2011 02:46 pm
averigua un poco sobre el tema de recursividad para eso siver las funciones recursivas ejej hace tioempoo me tope con eso haber si encuentro el codigo q use ese entonces pero es el tema de recursividad

Por tuadmin

Claber

598 de clabLevel



Genero:Masculino  

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.