Foros del Web » Programando para Internet » PHP »

como evitar esta doble lectura?

Estas en el tema de como evitar esta doble lectura? en el foro de PHP en Foros del Web. Hola, tengo un problema, necesito comparar un campo en dos tablas y que si es diferente que me lo nuestre...pero sucede que me esta mostrando ...
  #1 (permalink)  
Antiguo 03/02/2004, 16:18
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Pregunta como evitar esta doble lectura?

Hola, tengo un problema, necesito comparar un campo en dos tablas y que si es diferente que me lo nuestre...pero sucede que me esta mostrando dos veces....

aqui esta
Código PHP:
if($cant==0)
                                                {
                                                    
mysql_select_db("reservaciones");
                                                    
$sql3 mysql_query("SELECT t1.id_aula FROM aulas AS t1, datos AS t2 WHERE t1.id_aula<>t2.id_aula") or die(mysql_error());
                                                     while(
$row3=mysql_fetch_array($sql3))
                                                            {
                                                            echo 
"Aula Libres: " .$row3['id_aula']. "<br>";
                                                            }
                                                
                                                } 
$cant es una variable que tomo arriba....no mirarla ;)

eso me da este resultado

Código PHP:
Aula Libres03
Aula Libres
10
Aula Libres
12
Aula Libres
15
Aula Libres
03
Aula Libres
10
Aula Libres
12
Aula Libres
15 
y lo que quiero es
Código PHP:
Aula Libres03
Aula Libres
10
Aula Libres
12
Aula Libres
15 

Como soluciono eso?
__________________
www.dataautos.com
  #2 (permalink)  
Antiguo 03/02/2004, 16:30
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Usando la sentencia SQL: DISTINCT puedes obtener los registros que NO se repitan:

Código PHP:
$sql3 mysql_query("SELECT DISTINCT t1.id_aula FROM aulas AS t1, datos AS t2 WHERE t1.id_aula<>t2.id_aula") or die(mysql_error()); 
Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #3 (permalink)  
Antiguo 03/02/2004, 16:31
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Gracias Cluste
__________________
www.dataautos.com
  #4 (permalink)  
Antiguo 03/02/2004, 16:37
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Otro consejito...
en vez de utilizar mysql_fetch_array, para ahorrar un poco de memoria que tu Script utilice, es mejor usar mysql_fetch_assoc.

La diferencia ? mysql_fetch_array, para guardar la compatibilidad con mysql_fetch_row... te devuelve un array con indices tanto asociativos ( lo nuevo de _fetch_array) como numéricos ( la compatibilidad con _fetch_row )... por eso.. si tu consulta devuelve dos campos, tu array con mysql_fetch_array se ve asi :
Código:
Array
(
    [campo1] => valor1
    [0] => valor1
    [campo2] => otro valor
    [1] => otro valor
)
en cambio con mysql_fetch_assoc, solo obtienes los índices asociativos, ahorrando la mitad de la memoria.

Código:
Array
(
    [campo1] => valor1
    [campo2] => otro valor
)
Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #5 (permalink)  
Antiguo 03/02/2004, 16:40
Avatar de asinox  
Fecha de Ingreso: enero-2002
Ubicación: Santo Domingo
Mensajes: 2.712
Antigüedad: 22 años, 2 meses
Puntos: 6
Gracias Cluster

aunque no entendi muy bien el DISTINCT, pues dices que selecciona aquellos que no se repiten....

significa que no esten en ambas tablas? o que?, pues yo no tengo datos repetidos en una de la tabla, pero en la otra si.....

pero me repetia dos veces el echo...

me explicas un poco el DISTINCT por favor?
__________________
www.dataautos.com
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 12:05.