Ver Mensaje Individual
  #10 (permalink)  
Antiguo 23/05/2013, 17:05
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 17 años, 2 meses
Puntos: 2658
Respuesta: Problema con INNER JOIN

Cita:
Iniciado por dankko Ver Mensaje
Lo raro es que si que hay registros que cumplen los requisitos:

Tabla torneos_enfrentamientos:
Código:
id_enfrentamiento | id_torneo | id_ronda | user_id_1 | user_id_2 | enfrentamiento_jugado
2 	7 	1 	63 	2 	NO 
3 	7 	1 	63 	2 	NO 
4 	7 	2 	2 	63 	NO
Y esto es lo que le pasa través de la URL, el ID del torneo, que es a lo que llamo con la variable $id_torneo: http://www.../torneo-rondas.php?id=7

Además, de como podría hacer para poder sacar el username correspondiente a user_id_1 y el username correspondiente a user_id_2, ya que al hacer INNER JOIN torneos_enfrentamientos ON torneos_enfrentamientos.user_id_1 = torneos_inscripcion.user_id, lo que está haciendo es darle el mismo nombre tanto a user_id_1 y a user_id_2.
la tabla de muestra resulta insuficiente para saber si las condiciones se cumplen.
Para verificarlo deben cumplirse los dos INNER JOIN al mismo tiempo, además de tener un id_ronda igual al indicado.
Lo que hay que verificar es primero qué es lo que realmente MySQL está recibiendo.
Ponlo de esta forma y pruébalo:
Código PHP:
Ver original
  1. $id_torneo = (isset($_GET["id"])) ? $_GET["id"] : exit();
  2. $ssql = "SELECT *
  3. FROM `torneos_enfrentamientos` TE
  4.        INNER JOIN `torneos_inscripcion` TI ON TI.`user_id` = TE.`user_id_1`
  5.        INNER JOIN `torneos_rondas` TR ON TR.`id_ronda` = TE.`id_ronda`
  6. WHERE TE.`id_torneo` = $id_torneo";
  7. // verificando la query
  8. echo $ssql;
  9. $rs = mysql_query($ssql);
Luego, si muestra el valor del ID buscado en la consulta, toma la query completa y ejecutala en phpMyadmin.
Una vez hecho, veremos lo que da.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)