Cargando

Ir a contenido


 


Importar un fichero de una plantilla de cálculos a Mysql con php

En este Tutorial veremos como importar ficheros de plantilla a MySQL a través de PHP.


Escrito por el jul 22 2013 11:42 MySQL Importar fichero mysql importar mysql php


Algunos proyectos web requieren gestionar grandes listados de datos como ser listados de productos, ventas, usuario, noticias.

Mucha gente encuentra mas fácil tener estos datos en forma offline en una planilla de cálculos.
El objetivo de este tutorial es poder realizar la importación independientemente del programa se Excel o Libreoffice u otra opción disponga el usuario.

Luego de crear una base de datos MySQL, necesitas poblarla con información. Los datos de la base suelen estar contenidos en un archivo limitado con comas, o CSV, y necesita ser importado en la base de datos de MySQL. Ésta es una tarea muy simple usando las funciones incorporadas que tiene PHP que hacen que sea fácil importar desde un archivo CSV y exportarlo a una base de datos MySQL.

En este caso tenemos una lista de precios servicio y partes de ordenadores.


Ahora sin importar cual sea la planilla de calculo y en que sistema operativo estemos trabajando, buscaremos la opcion para exportar a formato text csv separado por punto y coma ; esto generara un simple fichero de texto donde las columnas seran remplazadas por ; y lo podremos leer desde cualquier plataforma o lenguaje.


Vamos ahora a crear en una base de datos mysql supongamos Servicios y creamos precios donde agregaremos la información del fichero csv

CREATE TABLE IF NOT EXISTS `precios` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`concepto` varchar(255) DEFAULT NULL,
`precio` decimal(10,2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Ahora el código php que realiza todo el trabajo


<? // conectamos a la base de datos
$conectar = mysql_connect('localhost', 'usuario', 'clave');
if (!$conectar) {
die('No se puedo conectar a MySQL: ' . mysql_error());
}
$conexiondb = mysql_select_db('Servicios', $conectar);
//Subimos el fichero csv que viene del formulario
move_uploaded_file($_FILES["fichero"]["tmp_name"], $upload_dir . "/" . $FILES["fichero"]["tmp_name"]);
$cvs = $upload_dir . "/" . $_FILES["ficchero"]["name"];
//fila va a contar la cantidad de filas del fichero inicia en 0
$fila = 0;
$fp = fopen($cvs . "", "r");
while (!feof($fp)) { //leo el fichero de a un renglon por vez
$fila++;
//Salteo la primera fila ya que tiene los titulos y no me interesa insertarlos en la base de datos
if ($row > 1) {
// El renglon que leo lo separo con explode y le indio que se separa por ;
$data = explode(";", fgets($fp));
$id = $data[0];
$concepto = $data[1];
$precio = $data[2];

$query = "INSERT INTO precios (id,concepto,precio) VALUES($data[0],'$data[1]','$data[2]')";

mysql_query($query, $conectar);

// fin del ciclo while
}
}

//cerramos el fichero
fclose($csv);

echo "Importación finalizada!!";
mysql_close($connect);
?>

Además se puede usar este script y hacerlo más flexible, permitir al usuario dar de alta el fichero en un formulario html con

<form action=”subircsv.php” metod=”post” enctype="multipart/form-data">
<input type="file" name="ficherocvs" >
</form>

y así poder subir ficheros CSV e importar datos de ese archivo CSV a cualquier base de datos datos mysql o incluso a varias desde un solo ficheros. Hay muchos ajustes que se puede hacer con este script y usarlo de la manera deseada.


También puede utilizarse cuando mucho usuarios deben subir información a una web, estados de cliente o cuentas, cada uno podrá usar el software que mas le convenga y luego subir todos los en mismo formato compatible para todos.
¿Te ha gustado y ayudado este Tutorial?
Puedes premiar al autor pulsando este botón para darle un punto positivo
  • -
  • 0
10
VOTA
5
100%
4
0%
3
0%
2
0%
1
0%

  Información

  •   Publicado jul 22 2013 11:42
  •   Visitas 4K
  •   Nivel
    Profesional



Tutoriales Relacionados


Sin comentarios, sé el primero!

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!
Demuestra que eres experto!
  ESCRIBIR TUTORIAL
Suscribirse