La Clase de Tabla provee funciones que le permite autogenerar una tabla HTML desde arreglos o juegos de resultados de base de datos.
Como la documentación es bastante extensa, no es necesario explicar el funcionamiento de la clase, asà que voy directo al grano y dejo como ejemplo el como abordé el caso en su momento. Al final conseguiremos algo similar a la siguiente imagen:
Donde resaltamos para el ejemplo, celdas aleatorias.
Sabemos que podemos establecer el encabezado de la tabla usando:
$this->table->set_heading()
y que podemos agregar una nueva fila usando:
$this->table->add_row()
o armar un arreglo y pasarlo luego a:
$this->table->generate()
el código de ejemplo:
// se arman los cabezales de la tabla $arrHeading = array('filas / columnas','columna 1','columna 2' ,'columna 3','columna 4','columna 5','columna 6','columna 7' ,'columna 6','columna 7','columna 8'); // se establece el heading $this->table->set_heading($arrHeading); // este array almacenara todas la filas $arrRows = array(); // estos seran los datos usados para empezar cada fila $arrFilas = array('fila1','fila2','fila3','fila4','fila5'); /* por cada fila y luego por cada columna hay que ir agregando los datos de cada celda * y resaltar el que se requiera.. */ foreach($arrFilas as $id => $fila){ // este sera el array que usaramos para almacenar // los datos de la fila entera $arrNuevaFila = array($fila); foreach($arrHeading as $id => $sCadena){ //no quiero que imprima para este caso, el primer valor del array if($id==0) continue; // indicamos que resalte una celda cualquiera $resaltar = (rand(0,4) == 2 ? true : false); $arrNuevaFila[] = ($resaltar ? '<div id="celda_resaltada">' .$sCadena.'</div>' : '<span>'.$sCadena.'</span>'); } // agregamos la nueva fila $arrRows[] = $arrNuevaFila; } // generamos la tabla $datos['sTabla'] = $this->table->generate($arrRows);
Si te fijas, notaras que al final asigno el resultado de la tabla al arreglo $datos, eso es porque lo armamos desde el controlador y luego en la vista se imprime, claro está que hay que pasar los datos al view.
// cargamos la interfaz $this->load->view('ejemplo_v', $datos);
y en la view es tan fácil como utilizar un echo:
if (isset($sTabla)) echo $sTabla;
por ultimo el estilo de ejemplo:
#celda_resaltada{ background : #FFFF99; border : 1px dotted #FFCC33; widht: 100%; font-weight : bold; }
los datos usados para llenar la tabla obviamente son de ejemplo, haz de obtener los datos de algún modo, de tu base de datos, etc.
- Los comentarios están siendo moderados y serán publicados en la brevedad posible.