Ver Mensaje Individual
  #18 (permalink)  
Antiguo 26/05/2013, 09:24
dankko
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema con INNER JOIN

Porque al ver el echo por inercia lo puse debajo del while, donde tenía el resultado de la muestra de partidos.

La forma que uso para relacionarlo con el torneo es darle al valor $id_torneo el valor enviado por get
Código:
$id_torneo = (isset($_GET["id"])) ? $_GET["id"] : exit();
Entonces lo que hace es devolverme las rondas del torneo, los partidos, y los usuarios que están en el torneo con el ID = 7. Pero es la única forma con la que lo relaciono...

He probado con tu consulta pero no me arroja ningún dato. Jugando con dicha consulta he probado a hacer lo siguiente, aunque es un poco chapucilla pero igual puede ayudar en algo o darnos alguna pista:

Código:
<?php
$conexion = conecta_base_datos();
$id_torneo = (isset($_GET["id"])) ? $_GET["id"] : exit();

$ssql = "SELECT * 
FROM `torneos_partidos` TE 
    INNER JOIN `torneos_inscripcion` TI ON TI.`user_id` = TE.`user_id_1`
    INNER JOIN `torneos_rondas` TR ON TR.`id_ronda` = TE.`id_ronda` 
WHERE TE.`id_torneo` = '$id_torneo' and TE. id_ronda = '1'" or die('Error en consulta: ' . mysql_error());			
$rs = mysql_query($ssql);

while ($fila = mysql_fetch_array($rs)){

    // verificando la query
	echo '<a href="' . $fila[user_id_1] . '">' . $fila[username] . '</a>';
	echo ' vs ';
	echo '<a href="' . $fila[user_id_2] . '">' . $fila[username] . '</a><br>';
}

?>
He pensado en hacer varias consultas por ronda, para así sacar el número de partidos que corresponden a cada ronda del torneo indicado por la variable $id_torneo...

El resultado que me ofrece es el siguiente:

Código HTML:
Ver original
  1. dankko2 vs dankko2
  2. dankko2 vs dankko2
  3. dankko2 vs dankko2
  4. dankko2 vs dankko2

Parece que está mostrando un resultado correcto, ya que muestra los cuatro partidos que corresponden a la ronda con el ID=1 que están en el torneo con el ID=7.

Ya te digo, es un poco chapucillas pero igual puede ayudar a descifrar algún error.