<?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