Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/11/2010, 17:13
sotox69
 
Fecha de Ingreso: noviembre-2010
Ubicación: La Reina, Santiago, Chile
Mensajes: 11
Antigüedad: 13 años, 5 meses
Puntos: 0
consulta multitabla mysql

Hola soy nuevo en el foro y espero q este sea el primero de muchos post... recien estoy empezando en este mundo maravilloso

bueno tengo 2 tablas:

tabla registro: (id, usuario, nombre, apellido,edad, mail, fono, region)

tabla comunas: (id, usuario, comuna1, comuna2, comuna3, comuna4, comuna5, comuna6)

la id, y el usuario son los mismos en ambas tablas

lo que yo quiero es que uno pueda elegir una comuna, y me devuelva:

comuna1, comuna2, comuna3, comuna4, comuna5, comuna6 de la tabla comuna y
id, usuaro y nombre de la tabla registro

lo estoy haciendo con este codigo, pero solo la consulta $comuna me entrega lo que quiero, la consulta $resultado me entrega valores que no quiero


Código PHP:
$comuna mysql_query("select *
                          from comunas
                         where comunas.comuna1='$comuna'
                         or comunas.comuna2='$comuna'                                          
                         or comunas.comuna3='$comuna'
                         or comunas.comuna4='$comuna'
                         or comunas.comuna5='$comuna'
                         or comunas.comuna6='$comuna'
                           "
);
///////////////////////////////////////////////////////////////////////////////////

$resultado mysql_query("select registro.id, registro.nombre, registro.apellido
                          from registro, comunas
                           where   comunas.comuna1='$comuna'
                         or comunas.comuna2='$comuna'
                         or comunas.comuna3='$comuna'
                         or comunas.comuna4='$comuna'
                         or comunas.comuna5='$comuna'
                         or comunas.comuna6='$comuna'
                         and registro.id=comunas.id
                                           "
);
    

    
    
$num_resultados mysql_num_rows($comuna);
    echo 
"<p>Número de resultados encontrados: ".$num_resultados."</p>";
    echo 
"<hr width='95%'>";
        
///////////////////// 
 
for ($i=0$i <$num_resultados$i++)
  {
     
$row mysql_fetch_array($resultado);
     
$comuna69 mysql_fetch_array($comuna);
     
    
     
display_list($row$comuna69); 
    
 }
//cierre del for 


el problema es que por ejemplo yo elijo una comuna que solo la tienen la id=4 y la id=5

y el programa me devuelve 2 resultados:

1) las 6 comunas de la id=4, combinada con el nombre, el apellido y la id de la id=1
2)las 6 comunas de la id=5, combinada con el nombre, el apellido y la id de la id=2


y lo que quiero que me devuelva es:
1) las 6 comunas de la id=4, combinada con el nombre, el apellido y la id de la id=4
2)las 6 comunas de la id=5, combinada con el nombre, el apellido y la id de la id=5

alguna ayuda por favor?
gracias