Foros del Web » Programando para Internet » PHP »

Depurar registros repetidos en bd mysql mediante PHP

Estas en el tema de Depurar registros repetidos en bd mysql mediante PHP en el foro de PHP en Foros del Web. Hola que tal mi problema es el siguiente, estoy trabajando con una bd en mysql que posee una tabla con más de 30 mil registros ...
  #1 (permalink)  
Antiguo 09/11/2011, 08:50
 
Fecha de Ingreso: marzo-2010
Ubicación: Venezuela
Mensajes: 23
Antigüedad: 14 años, 1 mes
Puntos: 1
Depurar registros repetidos en bd mysql mediante PHP

Hola que tal mi problema es el siguiente, estoy trabajando con una bd en mysql que posee una tabla con más de 30 mil registros sin embargo existen registros repetidos 2,3,4 veces lo que deseo hacer es unificar dichos registros en uno con la mayor cantidad de informacion, dentro de la tabla tengo un campo ultima_fecha con el cual puedo establecer un punto a comparación.

Ahora bien, realice una consulta donde puedo obtener un registro unico y el más actualizado lo cual me dio como resultado 15 mil registros.

Luego realizo otra consulta donde me facilite todos los registros, a fin de ir comparando con la consulta uno.

JUSTO a partir de este punto me trabo porque no se como realizar un ciclo para ir comparando cada registro y que una vez que encuentre un registro que coincida con el registro con fecha ultimo verifique cada campo y autocomplete los campos vacios.

Ejemplo.

Consulta01: Registro no repetido fecha ultima:
ci: 12345 ; nombre:maria peña ; telefono01: 5556789 ; telefono02: null ; telefono03: null.

Consulta02: Todos los registros
ci: 12345 ; nombre:maria peña ; telefono01: 4445467 ; telefono02: 2223212 ; telefono03: 6667898.

Consulta03: Nueva tabla con datos depurados
ci: 12345 ; nombre:maria peña ; telefono01: 5556789 ; telefono02: 2223212 ; telefono03: 6667898.

Código PHP:
Ver original
  1. $sql01="SELECT * FROM usuarios GROUP BY ci ORDER BY ultimafecha desc";
  2.   $consulta1=mysql_query($sql01) ;
  3.     $unico=mysql_fetch_array($consulta1);
  4.  
  5. $sql02="SELECT ci,nombre, direccion, telefono1, telefono2, profesion from usuarios ";
  6.   $consulta02=mysql_query($consulta02) ;
  7.   $comparacion=mysql_fetch_array($consulta02);

Tengo la idea de hacer un ciclo algo asi como

Código PHP:
Ver original
  1. for ($i=0; $unico=mysql_fetch_array($consulta1); $i++) {
  2.     if ($unico['ci']== $comparacion['ci]) {
  3.     .........  
  4.        
  5.      
  6.     }
  7.  }

Pero no se como hacer para ir comparando :(

Me pueden dar alguna recomendación porfavor y gracias de antemano!!!

Etiquetas: bd, depurar, mysql, registro, registros, repetidos, sql, tabla, usuarios
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 16:57.