<?php//Funcion que Dibuja una tabla.//Coded by: Jonathan Ramos, jonathanramos@gmail.com//--------------------------------------------------------------------------------------------------// Sintaxis function drawTable ($title,$columnHeader,$rowHeader,$tableArray,$keyFlag,$emptyCellKey)// -------------------------------------------------------------------------------------------------// donde $title,$columnHeader,$rowHeader y $emptyCellKey deben ser asignados con valor 0 si no se requieren.// $title : Es una Cadena con el titulo de la tabla.// $columnHeader: Arreglo con los Headers de las columnas de la tabla a dibujar.// $rowHeader: Arreglo con los Headers de los renglones de la tabla a dibujar.// $tableArray: Arreglo de dos dimensiones con los datos a imprimir en la tabla. Este es obligatorio.// $keyFlag: Valor booleano para indicar que se incluye un valor clave de escape para imprimer celda vacia.// $emptyCellKey: Valor clave de escape para imprimir celda vacia, si no se requiere se debe asignar false.function drawTable($title,$columnHeader,$rowHeader,$tableArray,$keyFlag,$emptyCellKey){ $arrayRowCount = count($tableArray); // Numero de elementos encabezado columna $arrayColumnCount = count($tableArray[0]); // Numero de elementos encabezado renglon $tableColumnCount = $arrayColumnCount; //Creamos la tabla html echo '<table style="width:50%">'; //Imprime titulo con cellpading $tableColumnCount if ($rowHeader != 0){ $tableColumnCount++; //Si existen $rowHeader, incrementamos el numero de columnas de la tabla a dibujarse } echo '<tr style="background-color:CornflowerBlue; color:white;">'; // Estilo del titulo echo '<th colspan = "'.$tableColumnCount.'"; >'.$title.'</th></tr>'; //Si son requeridos, creamos Headers de Columna if ($columnHeader != 0){ //Iniciamos etiqueta html table row echo '<tr style="background-color:Azure;">'; // Colores de estilo //Si hay headers de renglon, agregamos una celda en blanco if ($rowHeader != 0){ echo "<th></th>"; } //Pintado de headers de Columna for ($col=0; $col < $arrayColumnCount; $col++){ echo "<th>".$columnHeader[$col]."</th>"; } echo "</tr>"; //Finalizamos etiqueta html table row } //Pintado de renglones del array, y si son requeridos, creamos Headers de Renglon. for ($row=0; $row < $arrayRowCount; $row++){ echo "<tr>"; //Inicializamos etiqueta html table row sin atributos //Si son requeridos, creamos Headers de Renglon if ($rowHeader != 0){ // Colores de estilo echo '<th style="background-color:Lavender;">'.$rowHeader[$row].'</th>'; // Headers de renglon } //Pintado de celdas del arreglo $tableArray for ($col=0; $col < $arrayColumnCount; $col++){ // Verificamos si la bandera de escape es TRUE if ( $keyFlag ){ // Verificamos si no es un valor de celda vacia if ($tableArray[$row][$col] != $emptyCellKey){ echo "<td>".$tableArray[$row][$col]."</td>"; } else { echo "<td></td>"; // Celda Vacia por valor de escape } } else { echo "<td>".$tableArray[$row][$col]."</td>"; } } echo "</tr>"; //Finalizamos etiqueta html table row } echo "</table>"; } // end drawTable()?>
Aqui un ejemplo de como funciona:
http://utilities.byethost3.com/cursoPHP/calendario_v2.phpSi alguien sabe como hacer los argumentos opcionales (que se puedan escribir o no) en lugar de pedir un 0, que me lo diga por favor
