Ver Mensaje Individual
  #1 (permalink)  
Antiguo 19/12/2011, 11:07
tumbero_x
 
Fecha de Ingreso: octubre-2010
Ubicación: Buenos Aires
Mensajes: 557
Antigüedad: 13 años, 6 meses
Puntos: 4
Eliminar fila con condicionales

Hola Amigos!!!
hace un rato con la ayuda de un miembro del foro
logre insertar una fila si no existia en la bd
pero ahora lo que necesito no lo puedo lograr es eliminarla
paso a explicar
si en la bd1 tengo 5 filas con el campo id y en cada fila tengo estos registros 1-2-3-4-5
yo tengo otra base de datos llamemosla bd2 y los estoy comparando con la bd1
entonces le digo que si existe el id hace un UPDATE y si no hace un INSERT
hasta aca todo bien
lo que me falta es eliminar el id que no esta en la bd2
si en bd1 tengo 1-2-3-4-5
y en la bd2 tengo 1-2-3-4-5-6
como hago para eliminar el que me "sobra" en este caso el 6
este es mi codigo
Código PHP:
Ver original
  1. $sql4=mysql_query("SELECT M.marca_id, M.marca_detalle FROM marcas M",Conectar::con())or die (mysql_error()) ;
  2. $array4=array();
  3.                 while($fila4=mysql_fetch_array($sql4))
  4.                 {
  5.                     $array4[$fila4['marca_id']] = $fila4['marca_detalle'];
  6.                 }
  7.                
  8. $sql5 = mysql_query("SELECT MR.manufacturer_id FROM manufacturer MR",Conectarse::remota())or die (mysql_error()) ;
  9. $array5=array();
  10.                 while($fila5=mysql_fetch_array($sql5))
  11.                 {
  12.                      $array5[$fila5['manufacturer_id']] = $fila5['manufacturer_id'];
  13.                 }
  14.  
  15. foreach($array4 as $id => $detalle)
  16.     {
  17.         if($id == $array5[$id])//COMPARO EL INDICE DEL ARRAY 4 CON EL DEL ARRAY 5
  18.         {
  19.             mysql_query("UPDATE manufacturer SET  name='".$detalle."' WHERE manufacturer_id = '".$id."' ",Conectarse::remota())or die (mysql_error()) ;
  20.         }
  21.         else
  22.         {  
  23.            
  24.             mysql_query("INSERT INTO manufacturer VALUES('".$id."','".$detalle."','','0')",Conectarse::remota())or die (mysql_error());
  25.            
  26.            
  27.         }      
  28.     }

Muchas gracias!!!
saludos