Ver Mensaje Individual
  #2 (permalink)  
Antiguo 01/02/2013, 18:57
karide
 
Fecha de Ingreso: septiembre-2005
Ubicación: Ourense
Mensajes: 25
Antigüedad: 14 años, 8 meses
Puntos: 1
Respuesta: Actualizar/insertar/ eliminar datos Mysql desde .csv

Hola, yo haría lo siguiente, añadir una nueva columna a la tabla articulos,
por ejemplo ultima_actualización de tipo integer.

Recoger el timestamp del sistema antes de procesar los datos del csv:

Código PHP:
$marca_time time(); 
Posteriormente en cada inserción o update marcar la fila con el timestamp
recogido.

Código PHP:
if(!mysql_num_rows(mysql_query("SELECT codigo FROM articulos WHERE codigo='$data[0]'"))){  
mysql_query("INSERT INTO articulos (codigo,descripcion,precio, ultima_actualizacion) VALUES ('$data[0]','$data[1]','$data[2]', $marca_time)");  
}else{ 
mysql_query("update articulos set descripcion='$data[1]', precio='$data[2]', ultima_actualizacion = $marca_time where codigo=$data[0]'");  


finalmente una vez cerrado el csv eliminar las lineas no actualizadas en la marca generada:

Código PHP:
mysql_query("DELETE FROM articulos WHERE ultima_actualizacion != ".$marca_time);