Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/12/2016, 08:22
hollowmanf
 
Fecha de Ingreso: enero-2009
Mensajes: 246
Antigüedad: 15 años, 10 meses
Puntos: 1
Importacion de csv a mysql con php

Hola amigos, estoy con un problema, tengo este php de la exportacion de mi tabla:

Cita:
<?php
header ("Last-Modified: " . gmdate("D,d M YH:i:s") . " GMT");
header ("Cache-Control: no-cache, must-revalidate");
header ("Pragma: no-cache");
header ("Content-type: application/x-msexcel");
header ("Content-Disposition: attachment; filename=Sancus.xls" );
//Conexion MySQL
$link=mysql_connect('localhost','user','password') ;

mysql_select_db('basededatos',$link); //-Seleccion Database

$query='SELECT code,name,description,cost_price,sell_price,discou nt_price,rent_price_15_days,rent_price_45_days,sto ck,stock_rental,size,providers_id,brands_id,provid er_code FROM items '; // Script SQL
$result=mysql_query($query,$link);//-Consulta

$field = mysql_num_fields( $result ); //-Número de Columnas

// Resultado
echo '<table>';
//Mostrando los nombres de Columnas
for ( $i = 0; $i < $field; $i++ ) {
echo '<td>'.mysql_field_name( $result, $i ).'</td>'; } //Mostrando Registros
while($row=mysql_fetch_array($result)){
echo '<tr>';
for ( $i = 0; $i < $field; $i++ ) { echo '<td>'.$row[$i].'</td>'; }
echo '</tr>';
}
echo '</table>';
//Cerrando la Conexion
mysql_close($link);
?>
El cual me funciona correctamente y me exporta mi DB a excel sin problemas.

Y tengo este otro php que es el de importación:

Cita:
<!DOCTYPE html>
<body>
<h1>Importando archivo CSV</h1>
<form action='<?php echo $_SERVER["PHP_SELF"];?>' method='post' enctype="multipart/form-data">
Importar Archivo : <input type='file' name='sel_file' size='20'>
<input type='submit' name='submit' value='submit'>
</form>
</body>
</html>

<?php

//conexiones, conexiones everywhere
ini_set('display_errors', 1);
error_reporting(E_ALL);
$db_host = 'localhost';
$db_user = 'user';
$db_pass = 'password';

$database = 'basededatos';
$table = 'items';
if (!mysql_connect($db_host, $db_user, $db_pass))
die("No se pudo establecer conexión a la base de datos");

if (!mysql_select_db($database))
die("base de datos no existe");
if(isset($_POST['submit']))
{
//Aquí es donde seleccionamos nuestro csv
$fname = $_FILES['sel_file']['name'];
echo 'Cargando nombre del archivo: '.$fname.' ';
$chk_ext = explode(".",$fname);

if(strtolower(end($chk_ext)) == "csv")
{
//si es correcto, entonces damos permisos de lectura para subir
$filename = $_FILES['sel_file']['tmp_name'];
$handle = fopen($filename, "r");

while (($data = fgetcsv($handle, 1000, ",")) !== FALSE)
{
//Insertamos los datos con los valores...
$sql = "INSERT into items(code,name,description,cost_price,sell_price, discount_price,rent_price_15_days,rent_price_45_da ys,stock,stock_rental,size,providers_id,brands_id, provider_code) values('$code[code]','$name[name]','$description[description]','$cost_price[cost_price]','$sell_price[sell_price]','$discount_price[discount_price]','$rent_price_15_days[rent_price_15_days]','$rent_price_45_days[rent_price_45_days]','$stock[stock]','$stock_rental[stock_rental]','$size[size]','$providers_id[providers_id]','$brands_id[brands_id]','$provider_code[provider_code]')";
mysql_query($sql) or die(mysql_error());
}
//cerramos la lectura del archivo "abrir archivo" con un "cerrar archivo"
fclose($handle);
echo "Importación exitosa!";

}
else
{
//si aparece esto es posible que el archivo no tenga el formato adecuado, inclusive cuando es cvs, revisarlo para //ver si esta separado por " , "
echo "Archivo invalido!";
}
}

?>
El problema radica que cuando quiero subir el archivo me genera este error:

Notice: Undefined variable: code in /home/admin/domains/ddominio.com/public_html/importar.php on line 43


Alguien podria ayudarme

Salu2 y gracias