Foros del Web » Programando para Internet » PHP »

Ayuda para generar tabla dinamica

Estas en el tema de Ayuda para generar tabla dinamica en el foro de PHP en Foros del Web. Buenas, ¿Sabéis como puedo generar esta tabla dinámicamente? recibiendo los valores de las entradas de dos arrays, uno para los títulos de la tabla y ...
  #1 (permalink)  
Antiguo 02/12/2010, 01:10
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 12 años, 11 meses
Puntos: 20
Ayuda para generar tabla dinamica

Buenas,

¿Sabéis como puedo generar esta tabla dinámicamente? recibiendo los valores de las entradas de dos arrays, uno para los títulos de la tabla y otro para los valores

Código HTML:
Ver original
  1. <table class="sortable resizable">
  2.     <thead>
  3.         <tr><th class="sortfirstasc" id="id">id</th><th id="name">name</th></tr>
  4.     </thead>
  5.     <tfoot>
  6.         <tr><td>id</td><td>name</td></tr>
  7.     </tfoot>
  8.     <tbody>
  9.         <tr><td>111</td><td>pepe</td></tr>
  10.         <tr><td>222</td><td>juan</td></tr>
  11.         <tr><td>333</td><td>jordi</td></tr>
  12.         <tr><td>444</td><td>javi</td></tr>
  13.     </tbody>

Lo primero que intento es generar correctamente el input...

Es así

Array
(
[0] => Array
(
[0] => 111
[1] => pepe
)
[1] => Array
(
[0] => 222
[1] => juan
)
[2] => Array
(
[0] => 333
[1] => jordi
)
[3] => Array
(
[0] => 444
[1] => javi
)
)

Pero no sé si este código cumple con esa forma, es correcto hacerlo así?

Código PHP:
Ver original
  1. <?php
  2. $titulos = array(1 => 'id', 2 => 'name');
  3. $valores = array(1 => array(1=>111,2=>'pepe'),2 => array(1=>222,2=>'juan'));
  4. ?>

El objetivo final es crear una función tipo: generar_Tabla ($titulos, $valores) y que automaticamente genere la tabla.

Muchas gracias

Última edición por neodani; 02/12/2010 a las 01:12 Razón: poner el objetivo
  #2 (permalink)  
Antiguo 02/12/2010, 05:22
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 9 meses
Puntos: 1517
Respuesta: Ayuda para generar tabla dinamica

Si el id es único, podrías crear el arreglo basado en ese id.
Código PHP:
Ver original
  1. <?php
  2. $arr = array(
  3.             111 => 'pepe',
  4.             222 => 'juan',
  5.             333 => 'jordi',
  6.             444 => 'javi',
  7.         );
  8. foreach($arr as $key => $a){
  9.     echo $key . ' = ' . $a . '<br />';
  10. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 02/12/2010, 07:50
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 12 años, 11 meses
Puntos: 20
Respuesta: Ayuda para generar tabla dinamica

Cita:
Iniciado por abimaelrc Ver Mensaje
Si el id es único, podrías crear el arreglo basado en ese id.
Código PHP:
Ver original
  1. <?php
  2. $arr = array(
  3.             111 => 'pepe',
  4.             222 => 'juan',
  5.             333 => 'jordi',
  6.             444 => 'javi',
  7.         );
  8. foreach($arr as $key => $a){
  9.     echo $key . ' = ' . $a . '<br />';
  10. }
Gracias abimaelrc, cuando son dos campos lo he conseguido, pero que pasa si son 4 columnas con 4 datos cada fila, puedes decirme cómo lo harías? porque no caigo...

Código PHP:
Ver original
  1. <?php
  2. $titulos = array(
  3.             1 => 'id',
  4.             2 => 'name'
  5.         );
  6.  
  7. $valores = array(
  8.             111 => 'pepe',
  9.             222 => 'juan',
  10.             333 => 'jordi',
  11.             444 => 'javi',
  12.         );
  13. ?>
  14.  
  15. <table class="sortable resizable">
  16.     <thead>
  17.         <tr>
  18.         <?php
  19.         foreach($titulos as $key => $a){
  20.             echo "<th id='$a'>$a</th>";
  21.         }  
  22.         ?>
  23.         </tr>
  24.     </thead>
  25.     <tfoot>
  26.         <tr>
  27.         <?php
  28.         foreach($titulos as $key => $a){
  29.             echo "<td>$a</td>";
  30.         }  
  31.         ?>
  32.         </tr>
  33.     </tfoot>
  34.     <tbody>
  35.     <?php
  36.     foreach($valores as $key => $a){
  37.         echo "<tr><td>$key</td><td>$a</td></tr>";
  38.     }
  39.     ?>
  40.     </tbody>
  41. </table>

Muchas gracias de antemano
  #4 (permalink)  
Antiguo 02/12/2010, 08:04
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 10 años, 9 meses
Puntos: 1517
Respuesta: Ayuda para generar tabla dinamica

Es que sin ver lo que quieres hacer, se hace difícil indicarte la mejor forma. O sea muestra lo que haces y como quieres que se vea. Otra cosa, puedes hacer multi-array. Algo así
Código PHP:
Ver original
  1. <?php
  2. $array = array(
  3.     array(
  4.         111 => 'pepe',
  5.         222 => 'juan',
  6.         333 => 'jordi',
  7.         444 => 'javi',
  8.     ),
  9.     array(
  10.         111 => 'pepe',
  11.         222 => 'juan',
  12.         333 => 'jordi',
  13.         444 => 'javi',
  14.     ),
  15. );
  16. foreach($array as $arr){
  17.     foreach($arr as $key => $a){
  18.         echo $key . ' - ' . $a . '<br />';
  19.     }
  20. }
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 02/12/2010, 12:11
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 12 años, 11 meses
Puntos: 20
Respuesta: Ayuda para generar tabla dinamica

Cita:
Iniciado por abimaelrc Ver Mensaje
Es que sin ver lo que quieres hacer, se hace difícil indicarte la mejor forma. O sea muestra lo que haces y como quieres que se vea. Otra cosa, puedes hacer multi-array. Algo así
Con una imagen se verá mas claro. Parto de un array de datos como este, de X indices, en la imagen solo se muestra los 3 primeros.



Este array tiene estos sub-indices
eventId, eventName,eventTypeId,menuLevel,orderIndex,startTi me,timezone

Lo que quiero es crear una tabla de forma dinámica con una función de aspecto similar a este:
function Generar_tabla ($array_titulos, $array_valores)

en $array_titulos estarían un array con los titulos
IDEvento, Nombre, Tipo, nivel, orden, fecha_inicio, zona

y en $array_valores estaría el array completo de la imagen.

Entonces pretendo que pasandole estos dos inputs genere una tabla. En el ejemplo del post anterior, funciona pero el array_valores es muy pequeño, lo ideal es que fuese como el de la imagen y pudiese generar la tabla, igual que hice antes.

Me podéis ayudar?

Muchas gracias de antemano

Etiquetas: dinamica, tablas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:53.