PHP y MySQL Importar datos desde excel a cualquier tabla y columna [TUTORIAL]

Iniciado por :ohk<any>, 8 Junio 2015, 19:00 PM

0 Miembros y 1 Visitante están viendo este tema.

:ohk<any>

Tal como lo dice en el título, el código presentado a continuación nos va a permitir ingresar a una base de datos Mysql utilizando PHP desde un archivo creado en excel de extensión .csv (delimitado por comas).

Este código nos va a permitir ingresar la cantidad de datos necesarios a una o multiples tablas y a una o diferentes columnas sin requerir de alteraciones en el código fuente,  de una base de datos sin requerimiento de configuraciones grandes o complicadas.

Para que este ejemplo este completo iniciaremos creando una tabla para nuestra base de datos en Mysql.

Código (php) [Seleccionar]

CREATE TABLE prueba;

CREATE TABLE IF NOT EXISTS `estudiante` (
`id_estudiante` int(11) NOT NULL PRIMARY KEY AUTO_INCREMENT,
`nombre` varchar(100) NOT NULL,
`apellidos` varchar(100) NOT NULL,
`telefono` varchar(20) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;


Ahora que tenemos nuestra base de datos creada y nuestra tabla, revisaremos un poco el código de importación y sus dependencias para realizar una importación exitosa.

estructura



Como se puede apreciar, tenemos archivos de hojas de estilo, archivos de javascript y 6 archivos en PHP que realizan la carga. Es de vital importancia realizar una correcta configuración dentro de los archivos db.php y save.php.



Es importante notar que el archivo db.php cuenta con 170 líneas de código de las cuales no tocaremos ninguna otra que las lineas 8, 10 y 12.

En la linea 8 debemos poner el nombre del usuario de nuestra conexión a la base de datos.

En la linea 10 debemos poner el password de acceso a la base de datos relacionado a la cuenta.

Seguir leyendo...

Nos saltamos al final del ejemplo:

Con esto finalizamos el ingreso.

Mencionar que podemos realizar el ingreso a diferentes tablas de la base de datos desde el mismo archivo y no importa la dimensión de nuestro archivo en excel.

Aqui tengo un ejemplo con un archivo diferente y con datos diferentes en una base de datos diferente.



Como se puede apreciar, se ingresan a diferentes tablas, diferentes columnas y en desorden y el resultado es el mismo:



Fuente, archivos y ejemplo completo:

Revisar ejemplo completo y Archivos para Descarga

Si tienes dudas puedes responder a este tema.

Saludos!

@OHK
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.

Regexp

¡Buen aporte!  ;-)

Me ha gustado bastante, de hecho, lo tendré en mente para futuros proyectos. La solución fue bastante sencilla. Creo que estaría muy bien hacer un plugin para Cake o algún otro framework.

Saludos
No todo el que deambula está perdido

:ohk<any>

No es mala idea incluirlo como plugin para un framework.
Tiene potencial, habria que mejorarlo para que tenga mas y mejores utilidades, y quiza darle un entorno mas amigable.

Saludos
Y es que a veces pienso que si no estuviera loco no podría salir adelante.
Lo que no se es capaz de dar, en realidad no se posee, uno es poseído por ello.