Foros del Web » Programando para Internet » PHP »

Importar datos de Excel (o csv) a tabla Mysql

Estas en el tema de Importar datos de Excel (o csv) a tabla Mysql en el foro de PHP en Foros del Web. Hola compañeros foreros..!!! Esta es la primera vez que realizo una consulta por este foro., espero recibir la mayor colaboración posible de todos.. Soy nuevo ...
  #1 (permalink)  
Antiguo 12/05/2013, 20:02
 
Fecha de Ingreso: mayo-2013
Ubicación: Caracas
Mensajes: 7
Antigüedad: 11 años, 6 meses
Puntos: 0
Información Importar datos de Excel (o csv) a tabla Mysql

Hola compañeros foreros..!!!
Esta es la primera vez que realizo una consulta por este foro., espero recibir la mayor colaboración posible de todos..
Soy nuevo en PHP asi que pido un poco de paciencia de antemano.

Estoy haciendo un espacio web y el usuario necesita subir datos de excel a tablas Mysql, ya sea para actualizar o ingresar.

he leido sobre "LOAD DATA LOCAL INFILE", y he realizado varias pruebas pero todas fallidas.. esto es lo que tengo y lo que necesito mejorar.
__________________________________________
-- el usuario ingresa el archivo atraves de un examinar--
prueba.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form action="prueba2.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<label>
<input type="file" name="csv" id="csv" />
<br />
<input type="submit" name="aceptar" id="aceptar" value="Enviar" />
</label>
</form>
</body>
</html>

--luego hace submit y llega a la siguiente hoja para ser procesado--
<?php

include ("conexion.php");

$path=$_POST['csv'];
$csv=$_FILES['csv']['name'];
$tamanio=$_FILES['csv']['size'];
$tipo=$_FILES['csv']['type'];
$var = explode(".","$csv");

move_uploaded_file($_FILES['csv']['tmp_name'], "$path$csv");
print_r($_FILES);

if(isset($_POST['csv'])){

$query="LOAD DATA LOCAL INFILE ".$csv." REPLACE INTO TABLE usuarios FIELDS TERMINATED BY ';' LINES TERMINATED BY '\r\n' IGNORE 1 LINES";
$resultado=mysql_query($query) or die("error".mysql_error());}

if ($resultado)
{
echo "Los Datos se Actualizaron";

}else{
echo "error al subir los Datos";
}
?>

Esto me dice que hay error al subir el archivo.. ya no se que mas hacer y probar.. necesito su ayuda y paciencia.. Gracias de Antemano.. saludos.
  #2 (permalink)  
Antiguo 12/05/2013, 20:07
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años
Puntos: 2658
Respuesta: Importar datos de Excel (o csv) a tabla Mysql

MySQL no reconoce el formato de los archivos Excel en forma directa. Y PHP no es MySQL, por lo que en realidad deberías revisar este tema primero con el foro de ese lenguaje.

Muevo al Foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 12/05/2013, 20:23
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 17 años, 1 mes
Puntos: 80
Respuesta: Importar datos de Excel (o csv) a tabla Mysql

Te dejo un enlace a una rutina que exporta de excel a Mysql mediante php.

Deame3p
Espero que te sea de utilidad.

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp
  #4 (permalink)  
Antiguo 12/05/2013, 21:25
 
Fecha de Ingreso: mayo-2013
Ubicación: Caracas
Mensajes: 7
Antigüedad: 11 años, 6 meses
Puntos: 0
Respuesta: Importar datos de Excel (o csv) a tabla Mysql

ya vi y probe esa aplicacion, no quiero un aplicativo como tal, necesito es un codigo sencillo en php que me facilite subir datos a mysql. ya sea para actualizar o insertar. gracias de verdad..

Ah e leido otros temas referentes y son muy pocos. pero no se le ha dado respuesta de manera rotunda a este tema. (bueno revise y no encontre).

gracias por tu ayuda.. saludos..
  #5 (permalink)  
Antiguo 12/05/2013, 21:40
Avatar de portalmana  
Fecha de Ingreso: septiembre-2007
Ubicación: Montevideo-Uruguay
Mensajes: 633
Antigüedad: 17 años, 1 mes
Puntos: 80
Respuesta: Importar datos de Excel (o csv) a tabla Mysql

Lo que necesitas entonces a grandes rasgos es:
1> Subir la planilla excel.
2> Leerla , de esta dirección puedes sacar como hacerlo http://objetivophp.com/?p=203
3> Ver que columnas van en que campos.
Aquí si quieres algo sencillo tendrás que obligar a usar plantillas excel, para hacer coincidir los campos mysql con las columnas excel.
4> Dependiendo si se repite una clave o no actualizar o ingresar.

Saludos
__________________
"La imaginación es más importante que el conocimiento. El conocimiento es limitado, mientras que la imaginación no" -- A.Einstein
objetivophp.com,twitter.com/objetivophp

Etiquetas: csv, excel, mysql, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:10.