Clase con ejemplo incluido para crear tablas HTML utilizando POO

PHP:
  1. <?php
  2. /*****************************************************/
  3. /* Clase para crear tablas y de cada celda definimos */
  4. /* el contenido dinamicamente, util para consultas   */
  5. /* a la base de datos.                               */
  6. /* Autor: Afredo Alejandro ALvarez Ortiz             */
  7. /*****************************************************/
  8.  
  9. class Tabla{
  10. /* Aspecto de la tabla */
  11.     function Aspecto($c_b='',$c_f='',$t_f='',$f_f='',$esp='',$bord='',$c_t='',$c_c=''){
  12.         $this->color_borde=$c_b;
  13.         $this->color_fondo=$c_f;
  14.         $this->tama_fuente=$t_f;
  15.         $this->tipo_fuente=$f_f;
  16.         $this->espaciado=$esp;
  17.         $this->tama_borde=$bord;
  18.         $this->color_texto=$c_t;
  19.         $this->color_cabeza=$c_c;
  20.     }
  21.  
  22.     function Contenido($datos,$columnas=''){
  23.     /**********************************************************************/
  24.     /* Crearemos la tabla apartir de dos arrays como parametro el primero */
  25.     /* $datos debe ser un array bidimensional contenidendo los datos de   */
  26.     /* la tabla (filas) y el segundo $columnas un array que contiene los  */
  27.     /* encabezamientos de la tabla para cada columna, esto define tambien */
  28.     /* el numero de columnas, este parametro no es obligatorio.           */
  29.     /**********************************************************************/
  30.     $this->Datos=$datos;
  31.     $this->Columnas=$columnas
  32.     }
  33.    
  34.     function MostarTabla(){
  35.     echo '<table border="0"
  36.     cellspacing="'.$this->tama_borde.'"
  37.     cellpadding="'.$this->espaciado.'"
  38.     style="font-family:'.$this->tipo_fuente.'; font-size:'.$this->tama_fuente.'; color:'.$this->color_texto.'"
  39.     bgcolor="'.$this->color_borde.'">'
  40.    
  41.         if(is_array($this->Columnas)){
  42.         echo '<tr style="color:'.$this->color_cabeza.'">';
  43.             while(list($i,$o)=each($this->Columnas)){
  44.             echo '<td>'.$o.'</td>';
  45.             }
  46.         echo '</tr>';   
  47.         }
  48.        
  49.         if(!is_array($this->Datos)){
  50.         return;
  51.         }else{
  52.             foreach($this->Datos as $i=>$o){
  53.             echo '<tr bgcolor="'.$this->color_fondo.'">';   
  54.                 foreach($o as $ind=>$val){
  55.                 echo '<td>'.$val.'</td>';
  56.                 }
  57.             echo '</tr>';   
  58.             }
  59.         }
  60.    
  61.     echo '</table>';   
  62.     }
  63. }
  64.  
  65.  
  66. /******************/
  67. /* Ejemplo de uso */
  68. /******************/
  69.  
  70. /* Etiquetas para las columnas  de la tabla */
  71. $cols=array('Columna 1','Columna 2');
  72.  
  73. /* Array bidimensional con la información que contendra la tabla */ 
  74. $d[0]=array('fila 1','fila 1');
  75. $d[1]=array('fila 2','fila 2');
  76.  
  77. /* Creamos una nueva Tabla() */
  78. $tabla=new Tabla();
  79. /* Procedemos a cambiar los aspectos */
  80. /* Aspecto('color borde','color fondo','tamaño fuente','tipo fuente','espaciado','grueso borde','color fuente','color fuente cabecera'); */
  81. $tabla->Aspecto('#FF0000','#ECECFF','12px','verdana',5,3,'#000000','#FFFFFF');
  82. /* Cargamos el contenido */
  83. $tabla->Contenido($d,$cols);
  84. /* Y finalmente enviamos el resultado al navegador */
  85. $tabla->MostarTabla();
  86. ?>

Popularidad: 4%