Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

subir un archivo csv para actualizar la base de datos

Estas en el tema de subir un archivo csv para actualizar la base de datos en el foro de Mysql en Foros del Web. Hola tengo que actualizar la base de datos MySQL mediante un archivo.csv pero antes de actualizar primero debo eliminar todos los registros de esa tabla ...
  #1 (permalink)  
Antiguo 14/01/2014, 16:47
 
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 11 meses
Puntos: 0
Mensaje subir un archivo csv para actualizar la base de datos

Hola tengo que actualizar la base de datos MySQL mediante un archivo.csv pero antes de actualizar primero debo eliminar todos los registros de esa tabla y mediante el excel.csv ingresar toda la informacion nuevamente.
bueno estoy haciendo un boton que me permita subir ese archivo y actualizar la base asi:
<?php
$db = JFactory::getDBO() or die("Could not connect.");
if(!$db)
die("no db");
if(!mysql_select_db("mercado",$db))
die("Ninguna base seleccionada.");
?>

<head>
<title>Subir Archivos csv</title>
<style type="text/css">
body {
background: #E3F4FC;
font: normal 14px/30px Helvetica, Arial, sans-serif;
color: #2b2b2b;
}
a {
color:#898989;
font-size:14px;
font-weight:bold;
text-decoration:none;
}
a:hover {
color:#CC0033;
}

h1 {
font: bold 14px Helvetica, Arial, sans-serif;
color: #CC0033;
}
h2 {
font: bold 14px Helvetica, Arial, sans-serif;
color: #898989;
}
#container {
background: #CCC;
margin: 100px auto;
width: 945px;
}
#form {padding: 20px 150px;}
#form input {margin-bottom: 20px;}
</style>
</head>
<body>
<div id="container">
<div id="form">

<?php

include "connection.php";
$deleterecords = "TRUNCATE TABLE aporte_cab";
mysql_query($deleterecords);

//Upload File
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['csv']['tmp_name'])) {
echo "<h1>" . "File ". $_FILES['csv']['name'] ." uploaded successfully." . "</h1>";
echo "<h2>Displaying contents:</h2>";
readfile($_FILES['csv']['tmp_name']);
}

//Import uploaded file to Database
$handle = fopen($_FILES['csv']['tmp_name'], "r");

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$import="INSERT into aporte_cab(item1,item2,item3,item4,item5) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);

print "Import done";

}else {
print "Upload new csv by browsing to file and clicking on Upload<br />\n";
print "<form enctype='multipart/form-data' action='upload.php' method='post'>";
print "File name to import:<br />\n";
print "<input size='50' type='file' name='csv'><br />\n";
print "<input type='submit' name='submit' value='Upload'></form>";
}
?>
</div>
</div>
</body>
{/source}



Pero no me sale talvez tiene alguna sugerencia por favor de como hacer
Gracias
  #2 (permalink)  
Antiguo 16/01/2014, 12:07
 
Fecha de Ingreso: enero-2014
Mensajes: 8
Antigüedad: 10 años, 11 meses
Puntos: 0
Mensaje subir archivos excel.csv y actualizar la base de datos MySQL

Hola estoy tratando de subir archivo excel.csv para actualizar los datos de mi base pero no vale me sale un error les dejo el script que uso:
<html>
<head>
<title>Subir Archivos csv</title>
<style type="text/css">
body {
background: #E3F4FC;
font: normal 14px/30px Helvetica, Arial, sans-serif;
color: #2b2b2b;
}
a {
color:#898989;
font-size:14px;
font-weight:bold;
text-decoration:none;
}
a:hover {
color:#CC0033;
}

h1 {
font: bold 14px Helvetica, Arial, sans-serif;
color: #CC0033;
}
h2 {
font: bold 14px Helvetica, Arial, sans-serif;
color: #898989;
}
#container {
background: #CCC;
margin: 100px auto;
width: 945px;
}
#form{padding: 20px 150px;}
#form input{margin-bottom: 20px;}
</style>
</head>
<body>
<div id="container">
<div id="form">

<?php
$db = JFactory::getDBO();
$query = "TRUNCATE TABLE aporte_cab";
mysql_query($query);

//Carga de archivos
if (isset($_POST['submit'])) {
if (is_uploaded_file($_FILES['filename']['tmp_name'])) {
echo "<h1>" . "Archiuvo". $_FILES['filename']['name'] ." uploaded successfully." . "</h1>";
echo "<h2>Viendo el contenido:</h2>";
}

//Importar archivo subido a base de datos
$handle = fopen($_FILES['filename']['tmp_name'], "r");

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$import="INSERT into aporte_cab(id_apor_cab,fecha_proc,cedula,nombre,es tado,localidad,id_user) values('$data[0]','$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]')";
mysql_query($import) or die(mysql_error());
}
fclose($handle);

print "Import done";

//Formulario de subida
}else {

print "Subir nueva csv navegando en un archivo y hacer clic en Upload<br />\n";
print "<form enctype='multipart/form-data' action='upload.php' method='post'>";
print "el nombre del archivo a importar:<br />\n";
print "<input size='50' type='file' name='filename'><br />\n";
print "<input type='submit' name='submit' value='Upload'></form>";
}
?>
</div>
</div>
</body>
</html>
agradecería que me digan cual es mi error.
Al ejecutarlo me sale el siguiente error:
Archiuvoaporte_cab.csv uploaded successfully.
Viendo el contenido:
Table 'mercado.aporte_cred' doesn't exist,
pero si tengo en mi base esa tabla
  #3 (permalink)  
Antiguo 19/01/2014, 08:10
Avatar de rcarcamonster
Moderador
 
Fecha de Ingreso: enero-2008
Ubicación: Chile
Mensajes: 1.940
Antigüedad: 16 años, 11 meses
Puntos: 108
Mensaje Respuesta: subir un archivo csv para actualizar la base de datos

Tema movido a Bases de datos Mysql. Suerte con el problema.
Saludos
__________________
Tucango - Desarrollo web

Etiquetas: as, csv, html, joomla, php
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 05:00.