Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Duda como hacer consulta

Estas en el tema de Duda como hacer consulta en el foro de Mysql en Foros del Web. Estoy haciendo una aplicacion web para la gestion de tareas. Tengo una BD con 4 tablas (en negrita, claves primarias): - comentario ( id_comentario ,id_tarea,id_usuario,mensaje,fecha) ...
  #1 (permalink)  
Antiguo 02/02/2012, 08:35
Avatar de lenders  
Fecha de Ingreso: diciembre-2011
Mensajes: 58
Antigüedad: 12 años, 3 meses
Puntos: 2
Duda como hacer consulta

Estoy haciendo una aplicacion web para la gestion de tareas.

Tengo una BD con 4 tablas (en negrita, claves primarias):

- comentario (id_comentario,id_tarea,id_usuario,mensaje,fecha)
- tarea (id_tarea,fecha_alta,fecha_entrega,finalizada,aceptada,titu lo,contenido)
- usuario (id_usuario,nombre,clave,admin,fecha_alta,email)
- usuario_tarea (id_usuario,id_tarea)

Con esta consulta, saco el id_usuario de los usuarios que estan asignados a una tarea:

Código PHP:
// RECOJEMOS LOS DATOS DE 'USUARIO_TAREA'
    
$cons_usuario_tarea mysql_query ("SELECT * FROM usuario_tarea WHERE id_tarea = '$id_tarea'") or die ("Error al recojer resultados de 'usuario_tarea'");
    
$nFilas mysql_num_rows($cons_usuario_tarea);
    
    for (
$i=0;$i<$nFilas;$i++){
        
$fila mysql_fetch_array($cons_usuario_tarea);
            
$id_tarea $fila['id_tarea'];
            
$id_usuario_de_tarea $fila['id_usuario'];
            
            print(
"
                $id_usuario_de_tarea |
            "
);
    } 
Pero lo que necesito es sacar el NOMBRE del usuario, y le estuve dando vueltas y no se como :/
  #2 (permalink)  
Antiguo 02/02/2012, 09:15
Colaborador
 
Fecha de Ingreso: enero-2007
Ubicación: México
Mensajes: 2.097
Antigüedad: 17 años, 3 meses
Puntos: 447
Respuesta: Duda como hacer consulta

Hola lenders:

Al utilizar multiples tablas, la mejor manera de trabajar es con JOIN's (INNER, LEFT y RIGHT). Si tienes dudas en cuanto a cómo trabajan cada uno de ellos puedes preguntarle a Santa Wikipedia:

http://es.wikipedia.org/wiki/Join

Ahora bien, con respecto a tu problema, estás complicando la consulta haciendo un ciclo (además de que este es un foro de SQL y por lo tanto no es correcto incluir código de ningún otro lenguaje que no sea SQL). Para lo que quieres hacer sólo requieres de las tablas usuario y usuario_tarea, prueba con esto:

Código MySQL:
Ver original
  1. SELECT u.nombre FROM usuarios u
  2. INNER JOIN usuarios_tareas ut ON u.id_usuario = ut.id_usuario
  3. WHERE ut.id_tarea = aquí_pones_el_id_de_la_tarea

y para la siguiente, si quieres incluir código PHP puedes acudir directamente al foro de este lenguaje:

http://www.forosdelweb.com/f18/

Haz la prueba y nos comentas.

Saludos
Leo.

Etiquetas: query, select, sql, tabla
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 02:47.