Ver Mensaje Individual
  #4 (permalink)  
Antiguo 31/01/2010, 14:39
Avatar de dggluz
dggluz
 
Fecha de Ingreso: abril-2009
Ubicación: Buenos Aires, Argentina
Mensajes: 525
Antigüedad: 15 años
Puntos: 50
Respuesta: suprimir registros dobles en mysql con php

Cita:
Iniciado por abimaelrc Ver Mensaje
Podrias hacerlo en crear un while que verifique la base de datos y un if dentro del while que compare alguna variable que este en el while para borre todo registro duplicado, ejemplo
Código PHP:
Ver original
  1. $s = "SELECT * FROM tabla";
  2. $q = mysql_query($s) or die(mysql_error());
  3. $var = "";
  4. while($row = mysql_fetch_assoc($q)){
  5.     if($row["ide"].$row["cve"] == $var){
  6.         echo $row["ide"]."<br>";
  7.         //aqui va la consulta de borrar también con la parte de id, si es que tienes un incrementable
  8.     }
  9.     $var= $row["ide"].$row["cve"];
  10. }
Analiza el código y verás lo que te digo.
En realidad, lo que propones tiene que tener dos cuidados:
  1. La consulta debe estar ordenada, no importa por cual campo, pero debe estar ordenada por alguno. Sino las réplicas que tengan algún registro entre éstas no saldrán a la luz.
  2. En lugar de armar una cadena con las partes del array $row, yo guardaría directamente todo el array para compararlo. Sino puede derse casos de réplicas que en realidad no lo sean (aunque es muy improbable), por ejemplo si "ide"='h' y "cve"='olas' en un registro y en otro "ide"='hola' y "cve"='s'.
¡Suerte!