#1 Clase para crear tablas en PHP Bueno aca les dejo una clasesita en PHP para crear tablas. Me parecio bastante copada la idea, y que a alguien le podía servir.
Esta es la primera versión, la próxima viene con styles. También tenía pensado hacer algo con base de datos pero todavia lo tengo que terminar de armar en mi cabecita.
Si tienen dudas, o alguna mejora o les sirvio para algo avisen.
Aca les dejo la clase, y mas abajo un ejemplo:
Aca el ejemplo de uso:
saludos a todos.
Esta es la primera versión, la próxima viene con styles. También tenía pensado hacer algo con base de datos pero todavia lo tengo que terminar de armar en mi cabecita.
Si tienen dudas, o alguna mejora o les sirvio para algo avisen.
Aca les dejo la clase, y mas abajo un ejemplo:
Código PHP:
<?php
class Tabla{
/*Declaracion de Variables de la clase*/
var $cant_filas;
var $cant_columnas;
var $tabla;
var $tabla_html;
var $class;
var $id;
var $error;
var $INICIO_DE_TABLA,$FIN_DE_TABLA,$INICIO_DE_FILA,$FIN_DE_FILA,$INICIO_DE_COLUMNA,$FIN_DE_COLUMNA;
/* function Tabla(), Constructor de la clase*/
function Tabla($cant_filas,$cant_columnas,$class,$id){
$this->INICIO_DE_TABLA = "<TABLE id=$id class=$class border=1>\n";
$this->FIN_DE_TABLA = "</table>\n";
$this->INICIO_DE_FILA = "<TR>\n";
$this->FIN_DE_FILA = "<TR>\n";
$this->INICIO_DE_COLUMNA = "<TD>\n";
$this->FIN_DE_COLUMNA = "</TD>\n";
If(!isset($cant_filas)){
$this->error = "Error no se informa la cantidad de filas";
RETURN FALSE;
}
If(!isset($cant_columnas)){
$this->error = "Error no se informa la cantidad de columnas";
RETURN FALSE;
}
$this->cant_filas=$cant_filas;
$this->cant_columnas=$cant_columnas;
$this->class=$class;
$this->id=$id;
RETURN TRUE;
}
/*Completa la clase tabla con datos*/
function llenar_tabla($datos){
If(!is_array($datos)){
$this->error = "El parametro no es un array()";
RETURN FALSE;
}
If(!isset($datos)){
$this->error="El array no tiene datos";
RETURN FALSE;
}
$this->tabla=$datos;
RETURN TRUE;
}
function armar_tabla(){
$this->tabla_html = $this->INICIO_DE_TABLA;
foreach($this->tabla as $tabla_fila){/*Aca tengo $tabla_fila, que es una fila entera de la tabla*/
$this->tabla_html = $this->tabla_html . $this->INICIO_DE_FILA;
foreach($tabla_fila as $dato_columna){/*Aca tengo $tabla_columna que es cada columna de la fial $tabla_fila*/
$this->tabla_html = $this->tabla_html . $this->INICIO_DE_COLUMNA;
$this->tabla_html = $this->tabla_html . $dato_columna;/*Pongo el texto para esa fila/columna*/
$this->tabla_html = $this->tabla_html . $this->FIN_DE_COLUMNA;
}
$this->tabla_html = $this->tabla_html . $this->FIN_DE_FILA;
}
$this->tabla_html = $this->tabla_html .$this->FIN_DE_TABLA;
RETURN TRUE;
}
function get_tabla(){
IF(!isset($this->tabla_html)){
$this->error = "La tabla en html no tiene datos, primero tiene que llamar a armar_tabla()";
RETURN FALSE;
}
RETURN $this->tabla_html;
}
function get_error(){
RETURN $this->error;
}
}
?> Código PHP:
<?php
/*Test tabla HTML*/
include("class.tabla_sin_style.php");
/*Creo la instancia de la Tabla 2*/
$bool = $tabla2 = new Tabla(1,2,"T2","Tabla_de_prueba2");
if($bool = FALSE){
die($tabla2->get_error());
}
/*Lleno la tabla con un array con los datos que quera*/
$bool = $tabla2->llenar_tabla(array(
1 => array(1 => "Tabla 2 Columna 1",2=>"Tabla 2 Columna 2"),
));
//$bool = $tabla2->llenar_tabla("A");
if($bool = FALSE){
die($tabla2->get_error());
}
/*Llamo a la funcion que arma la tabla y deja un html*/
$bool=$tabla2->armar_tabla();
if($bool = FALSE){
die($tabla2->get_error());
}
/*Busco el HTML*/
$text_tabla2 = $tabla2->get_tabla();
/*Tabla principal*/
$bool = $tabla = new Tabla(2,2,"T1","Tabla_de_prueba");
if($bool = FALSE){
die($tabla->get_error());
}
$bool = $tabla->llenar_tabla(array(
1 => array(1 => $text_tabla2,2=>"Hola yo soy la 1.2"),
2 => array(1 => "Que tal, yo soy la 2.1",2 => "Y yo la ultima, la 2.2")
));
if($bool = FALSE){
die($tabla->get_error());
}
$bool=$tabla->armar_tabla();
if($bool = FALSE){
die($tabla->get_error());
}
echo $tabla->get_tabla();
?> 0
