Ver Mensaje Individual
  #3 (permalink)  
Antiguo 03/12/2003, 05:16
Avatar de indiestudio
indiestudio
 
Fecha de Ingreso: julio-2003
Mensajes: 163
Antigüedad: 20 años, 9 meses
Puntos: 1
Aqui os dejo el script acabado

<?php
//Crear una tabla con 3 campos (referencia,nombre,pvp)
//Script para generar/actualizar una tabla en SQL desde un fichero CSV
require("conexion.php");
$fp = fopen ("LIBRO1.CSV","r");// abre el archivo CSV
//comprueba si la tabla esta vacia
$sql ="SELECT COUNT(*) as total FROM almacen" ;
$resultado =mysql_query ($sql,$conex);
//Si la tabla NO esta vacia, comprueba las referencias y las actualiza. Ademas inserta nuevos productos
if(mysql_result ($resultado ,0,"total")>0)
{

while ($data = fgetcsv ($fp, 1000, ","))
{

print " <br>";
$sql="SELECT * FROM almacen WHERE referencia = ".$data[0];
$rs = mysql_query($sql);
$rt = mysql_fetch_array($rs);
if(($rt["nombre"]!=$data[1]) or ($rt["pvp"]!=$data[2]))
{
$actualizar="UPDATE almacen SET nombre='$data[1]', pvp='$data[2]' WHERE referencia= ".$rt["referencia"];
mysql_query($actualizar,$conex);
echo'ACT';
}
if($rt["referencia"]!=$data[0])
{
echo "Referencia:<b><i> ".$data[0]."</i></b> Articulo:<b><i> ".$data[1]."</i></b> PVP: <b><i>".$data[2]."</i></b>";
$insertar="INSERT INTO almacen (referencia,nombre,pvp) VALUES ('$data[0]','$data[1]','$data[2]')";
mysql_query($insertar,$conex);
}

}
fclose ($fp);
}
else //Si la tabla está vacia inserta todo el CSV
{
while ($data = fgetcsv ($fp, 1000, ","))
{
print " <br>";
echo "Referencia:<b><i> ".$data[0]."</i></b> Articulo:<b><i> ".$data[1]."</i></b> PVP: <b><i>".$data[2]."</i></b>";
$insertar="INSERT INTO almacen (referencia,nombre,pvp) VALUES ('$data[0]','$data[1]','$data[2]')";
mysql_query($insertar);
}
fclose ($fp);
}
?>