Programación:
PHP: Tabla capaz de autoajustar su cantidad de filas.


Muchas veces nos encontramos ante la necesidad de volcar valores agrupados dentro de una misma tabla, pero se nos presenta el inconveniente de que no conocemos la cantidad exacta de filas que son necesarias para representar la totalidad de esos datos.

Para subsanar esta inquietud debemos recurrir a una tabla que autoajuste su cantidad de filas, es decir que sea capaz de crear tantas filas como sean necesarias para representar la totalidad de estos miembros.

A continuación abordaremos un ejemplo muy sencillo de como implementar una tabla autoajustable, que nos permitirá mostrar en pantalla un listado de todos los empleados que trabajan en una empresa.

Lo primero que necesitamos es tener los datos de los empleados que queremos representar guardados en algún lugar, para hacer el ejemplo mas sencillo y fácil de probar, hemos optado por almacenarlos en un Array (también conocido como Arreglo, Matriz o Vector), aunque cabe aclarar que normalmente cuando desarrollemos una aplicación que requiera de una tabla autoajustable, es muy posible que estos datos se encuentren almacenados en una Base de Datos Relacional.

Almacenamos los datos en el arreglo:

Código para PHP:

$Empleados = array(
'22148366'
=> 'Juan Pablo GARCHIBANI' ,
'25716285' => 'Pedro GASTROPIEDRO' ,
'30456123' => 'Mario Santiago SALMEDRO' ,
'33458987' => 'Guillermo Alfredo TAVACCHI');


Ya tenemos los datos que queremos representar guardados en nuestro Array al que hemos llamado $Empleados.

Ahora nos encontramos en condiciones de comenzar a trabajar con la tabla autoajustable, para ello abrimos la etiqueta HTML de la tabla que llamaremos "TablaListaEmp":

Código para PHP:

echo "<table id='TablaListaEmp' rules='none' border='0'>" ;



En la primer fila de nuestra tabla colocamos el título del listado:

Código para PHP:

echo "
<tr>
   <td colspan='5'>
     <u>LISTADO DE EMPLEADOS DE LA EMPRESA GUIYOTE S.A.:</u>
     <br><br>
  </td>
</tr>"
;



De seguro ya has notado que nos encontramos trabajando con una tabla que posee cinco columnas, es por ello que el título de nuestro listado se ha insertado en la primer fila de nuestra tabla con sus cinco columnas combinadas (colspan='5').

Ahora pasamos a la parte más interesante, vamos ha armar el código que le dirá a nuestro servidor que envíe al navegador web del visitante tantas filas de esta tabla como sean necesarias.

Como en este ejemplo nuestros datos se encuentran almacenados en una matriz, para lograr este efecto podemos utilizar las instrucciones for, foreach o while.

Pero como mencioné anteriormente, que generalmente cuando trabajemos con sistemas encargados por nuestros clientes estos datos han de ser almacenados en alguna Base de Datos Relacional, he optado por la instrucción while que es la más probable que utilicemos para recorrer los resultados de alguna consulta SQL que obtendremos en esos casos.

Veamos como lo llevamos a cabo:

Código para PHP:

while (list($clave, $valor) = each($Empleados)) {
echo "
<tr>
    <td width='100'>Nomb. y Ape:</td>
    <td width='240'><b>$valor</b></td>
    <td width='10'> </td>
    <td width='120'>Documento Nro.:</td>
    <td width='80'><b>$clave</b></td>
</tr> "
;
}



Gracias a la instrucción while nuestra fila se repite tantas veces sea necesario para representar todos los datos agrupados de nuestro vector.

De aquí en adelante puedes agregar todas las filas fijas que deseas visualizar al pie de nuestra tabla, estas que agregues ya no serán repetibles.

A modo de ilustración agregaremos una fila más con un mensaje que no se repetirá:

Código para PHP:

echo "
<tr>
   <td colspan='5'>
     <br>
     Sección Informática - GUIYOTE S.A. -
     <br><br>
  </td>
</tr>"
;



Sólo nos resta cerrar la etiqueta HTML de nuestra tabla:

Código para PHP:

echo "<table>" ;



Al ser ejecutado nuestro código en el servidor, el navegador visitante mostrará la siguiente pantalla:


LISTADO DE EMPLEADOS DE LA EMPRESA GUIYOTE S.A.:

Nomb. y Ape: Juan Pablo GARCHIBANI Documento Nro.: 22148366
Nomb. y Ape: Pedro GASTROPIEDRO Documento Nro.: 25716285
Nomb. y Ape: Mario Santiago SALMEDRO Documento Nro.: 30456123
Nomb. y Ape: Guillermo Alfredo TAVACCHI Documento Nro.: 33458987

Sección Informática - GUIYOTE S.A. -



Como es de costumbre a continuación les dejo el código completo del ejemplo presentado:


<?php
$Empleados = array(
'22148366'
=> 'Juan Pablo GARCHIBANI' ,
'25716285' => 'Pedro GASTROPIEDRO' ,
'30456123' => 'Mario Santiago SALMEDRO' ,
'33458987' => 'Guillermo Alfredo TAVACCHI');
echo "<table id='TablaListaEmp' rules='none' border='0'>" ;
echo "
<tr>
   <td colspan='5'>
     <u>LISTADO DE EMPLEADOS DE LA EMPRESA GUIYOTE S.A.:</u>
     <br><br>
  </td>
</tr>"
;
while (list($clave, $valor) = each($Empleados)) {
echo "
<tr>
    <td width='100'>Nomb. y Ape:</td>
    <td width='240'><b>$valor</b></td>
    <td width='10'> </td>
    <td width='120'>Documento Nro.:</td>
    <td width='80'><b>$clave</b></td>
</tr> "
;
}
echo "
<tr>
   <td colspan='5'>
     <br>
     Sección Informática - GUIYOTE S.A. -
     <br><br>
  </td>
</tr>"
;
echo "<table>" ;
?>


Autor: Guiyote, publicado el día 18/10/2011.


Comentarios:
Comentario de msardRXuRA del día 2012-02-20 07:24:29:
 ativan  and  xanax  8-[[[  accutane  online  ndrkrv  colchicine  748523  viagra  >:P  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.topmedicus.com/
Comentario de QEgtqztYAQ del día 2012-01-18 23:04:17:
 california  health  insurance  wgw  cheap  life  insurance  40545  home  insurance  quotes  634738  cheap  health  insurance  >:]  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.swwildspace.com/cheap_health_
Comentario de BEFmTUPWXd del día 2012-01-10 23:00:37:
 life  insurance  823383  cheap  car  insurance  sxv  insurance  life  554  cheap  health  insurance  :-((  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.ucsga.com/
Comentario de kwvRkLrlVi del día 2012-01-09 01:17:35:
 cheapest  life  insurance  gbahlj  car  insurance  online  263  cheap  home  insurance  dkgg  first  health  insurance  8-)  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.sundayonanism.com/cheap_auto_
Comentario de CFoMayaJsv del día 2012-01-05 05:17:51:
 cheap  car  insurance  qzqs  cheap  home  insurance  73413  cheap  auto  insurance  6699  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.spruceupyourlife.com/life-ins
Comentario de BpCjESlhIf del día 2012-01-01 01:20:49:
 home  owners  insurance  quote  kgtrb  health  insurance  naba  auto  insurance  quotes  %-]]  health  insurance  279  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.iphoneobserver.com/cheap-home
Comentario de dJPIFgHVYS del día 2011-12-29 23:00:39:
 home  insurance  quotes  >:[  car  insurance  in  florida  ejsth  car  insurance  936  cheap  life  insurance  >:]  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.twinsmobiledetailing.com/
Comentario de zxeffpYvJv del día 2011-12-21 22:11:51:
 life  insurance  pzinxv  child  health  insurance  368  online  car  insurance  udc  home  insurance  quotes  35845  
El autor de este comentario ha dejado un enlace para que visites su sitio web: http://www.spruceupyourlife.com/life-ins
Comentario de GbcZsqaO del día 2011-11-07 04:04:23:
Tip  top  stuff.  I'll  epexct  more  now.
El autor de este comentario ha dejado un enlace para que visites su sitio web: www.facebook.com


Publicar un comentario:
Ingresa tu Nick: Sitio web (opcional):
http://
Comentario:



Enlaces a nuestros auspiciantes que colaboran con el proyecto:
Free website hosting