VER ULTIMA VERSION DISPONIBLE
manual
Hola como estan foreros, desde hace tiempo he desarrollado diversas paginas en las cuales siempre me
TOCA (y no esta mal) usar bases de datos para mostrar informacion a nuestros usuarios de una forma adecuada, pero resulta que muchas veces es mucha la informacion que toca mostrar, y siempre es maluco estar digitando practicamente el mismo codigo para poder hacerlo.
Algo como esto
Código PHP:
$usuarios = mysql_query( "select * from usuarios" );
Y esto
Código PHP:
while( $row = mysql_fetch_assoc( $usuarios ) )
{/*...*/}
Ahora solo imaginen cuando tienen que hacer muchos mas de estos para poder mostrar la informacion que necesitan, por lo menos para
mi se vuelve algo maluco y
muy repetitivo, por eso existe algo que se lllaman Data Grids
¿ Que es un data grid ?
Un data grid, que viene a significar en castellano rejilla de datos, es una interfaz de usuario bastante típica, que sirve para visualizar información en una tabla. La información suele ser un conjunto de registros, y se suelen mostrar cada uno de ellos en una fila. Además, los data grid suelen tener integradas funcionalidades para la ordenación de los datos y opciones para su edición o borrado entre muchas mas.
Logicamente, yo se que existen numerosas clases que hacen esto pero yo hize con mis propias funcionalidades,
Bueno entremos a lo que nos interesa
Tenemos la sgte bases de datos que tiene la sgte tabla y necesitamos mostrarla al usuario.
http://www.cuelgalo.com/viewer.php?id=1247114395_1.JPG
Ahora lo que tenemos que hacer es mostrar la informacion utlizando la clase
Primero que todo creamos una conexion hacia la base de datos
Código PHP:
$conexion = mysql_connect("localhost", "root","");
mysql_select_db("ejemplo", $conexion);
Segundo incluimos la clase al archivo actual ya se a con
include o require
Tercero, tenemos que crear una instancia de la clase
Código PHP:
$grid = Aco_DataGrid::instancia();
Cuarto, creamos una variable que que va a contener la consulta a la base de datos, yo la tengo asi.
Código PHP:
$sql = "select codigo,nombre,pcompra,pventa,cantidad from productos";
NOTA: Cuando indiquen la consulta y utilizan un alias
as es el que deberan utilizar mas adelante...
Quinto, creamos un array asociativo donde se indica el titulo de la columna y el campo de la base de datos.
Código PHP:
$campos = array(
'codigo' => 'codigo',
'nombre' => 'nombre',
'Precio de compra' => 'pcompra',
'Precio de venta' => 'pventa',
'Cantidad' => 'cantidad' );
Y sexto, llamamos al metodo
confCampos que recibe 3 parametros
Código PHP:
// $sql -> la consulta a la base de datos
// $conexion -> Indica la conexion con la base de datos
// $campos -> Indica los campos que se utilizaran para mostrar en el grid
$grid->confCampos($sql, $conexion, $campos);
LISTO!! ahora tenemos nuestra informacion ordenada en un data Grid, como se muestra en el sgte enlace
http://www.cuelgalo.com/viewer.php?id=1247115369_2.JPG
Pero resulta que mostrar la informacion sin algun tipo de color seria muy feo, por eso he creado metodos que permiten mejorar mucho la apariencia...
El metodo
grid_BgColorFC recibe como primer parametro un String que indica el color del que tendran los titulos en las columnas, y como segundo parametro un array de colores que indican el color que tendra cada fila, la cantidad de colores puede ser cualquiera...
Código PHP:
$colores = array ( '#F0F9FC', '#FFFFFF' );
$grid->grid_BgColorFC( '#FFFFFF', $colores );
Ahora tenemos algo asi
http://www.cuelgalo.com/viewer.php?id=1247116045_3.JPG
Resulta que el contenid de las tablas esta muy pegado entre si, entonces tenemos un metodo para solucionarlo.
Código PHP:
$grid->grid_PacingAndPadding(3, 3);
Como vemos es el famoso cellspacing y cellpadding
Ahora tenemos algo un poco mas ordenado
http://www.cuelgalo.com/viewer.php?id=1247116241_4.JPG
Ahora por ejemplo necesitamos crear una nueva columna para poder
editar
informacion de esa base de datos...
Muy simple
La clase tiene metodos que te permiten agregar una columna, quitar una columna, indicarle la ubicacion de la columna y el contenido que deberia llevar
Todos estos y muchos mas metodos se encuentran disponibles en la clase, la cual sera actualizada constantemente para agregar nuevas funcionalidades y de la misma manera optimizar mas y mas el codigo, si tienes alguna idea como una funcionalidad extra q deberia tener me pueden decir y juntos mejoraremos el codigo...
Aqui muestro como se veria el grid con un poco mas de trabajo
http://www.cuelgalo.com/viewer.php?id=1247117421_5.JPG