Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/04/2017, 23:59
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Cómo saber si el registro de un while está en otra tabla

El JOIN se usa para hacer solo una consulta y necesitas saber la diferencia entre cada opción; normalmente INNER JOIN te traerá registros que existen en las dos tablas; yo prefiero usar LEFT JOIN, ejemplo:

Código MySQL:
Ver original
  1. SELECT t1.id as id1, t1.img as img1, t2.is as id2, t2.img as img2
  2. FROM t1
  3. LEFT JOIN t2 ON t1.id = t2.id

Puesto que las columnas tienen el mismo nombre en ambas tablas, es necesario usar alias: nombre_de_columna as nombre_deseado

Código PHP:
Ver original
  1. $sql = '/* la consulta de arriba */';
  2. $result = mysql_query($sql);
  3. while($row = mysql_fetch_assoc($result)) {
  4.         // Si la imagen no existe en t2, entonces img2 será null
  5.         if($row['img2'] == NULL) {
  6.               // Muestras img1
  7.         } else {
  8.               // Muestras img2
  9.         }
  10. }

Sugerencia: la librería mysql es obsoleta y debes migrar a mysqli o, mejor aún, a PDO.
__________________
- León, Guanajuato
- GV-Foto