Foros del Web » Programando para Internet » PHP »

Asociar resultados de dos tablas

Estas en el tema de Asociar resultados de dos tablas en el foro de PHP en Foros del Web. Saludos a todos. Tengo una tabla que se llama 'usuarios' y tengo otra que se llama 'gestiones'. En esta tabla de 'gestiones' yo guardo las ...
  #1 (permalink)  
Antiguo 05/10/2011, 11:09
 
Fecha de Ingreso: abril-2011
Mensajes: 41
Antigüedad: 13 años
Puntos: 0
Asociar resultados de dos tablas

Saludos a todos.

Tengo una tabla que se llama 'usuarios' y tengo otra que se llama 'gestiones'. En esta tabla de 'gestiones' yo guardo las gestiones que hacen los usuarios.

Mediante una query mysql obtengo todos los registros de la tabla 'usuarios' y los muestro mediante una tabla en una página web. Hasta aquí todo bien.

Tuve la necesidad de mostrar también todos los registros de la tabla 'gestiones' de todos los usuarios. Cada usuario tiene un solo registro.

A la hora de asociar estos registros es donde tengo el problema, pues no sé como y usando el el 'id' de la tabla 'usuarios' relacionar el registro perteneciente a cada usuario mediante el campo 'referencia' de la tabla 'gestiones' y que en este campo esta el 'id' de usuario a quien pertenece el registro.

Yo meto el resultado de las dos consultas en el mismo array con un 'array_merge' y en la página me muestra todos los usuarios. Las gestiones realizadas me las muestra al final de los usuarios.

¿Cómo puedo relacionar el 'id' y 'referencia' para lograr que muestre las gestiones encontradas asociadas al usuario con php?

De hacer esto con mysql la query sería muy larga porque son muchos campos.

Muchas gracias y disculpen que no haya puesto código.
  #2 (permalink)  
Antiguo 05/10/2011, 15:01
Avatar de dmm84  
Fecha de Ingreso: marzo-2011
Mensajes: 164
Antigüedad: 13 años, 1 mes
Puntos: 13
Respuesta: Asociar resultados de dos tablas

y porque no meter una consulta dentro de otra, en la primera pones que te devuelva los usuarios y en la segunda que te devuelva el registro cuando tenga el id de la consulta anterior
__________________
Mas vale un codigo que mil palabras

Última edición por dmm84; 05/10/2011 a las 15:14
  #3 (permalink)  
Antiguo 05/10/2011, 15:30
Avatar de Uncontroled_Duck
Colaborador
 
Fecha de Ingreso: mayo-2011
Ubicación: Málaga [Spain]
Mensajes: 806
Antigüedad: 13 años
Puntos: 261
Respuesta: Asociar resultados de dos tablas

Para unir las tablas utiliza JOIN o LEFT JOIN en tu consulta con las referencias de los id relacionados.
Código MySQL:
Ver original
  1. u.usuario, g.gestion
  2. FROM usuario u
  3. JOIN gestion g
  4.     ON u.idUser = g.idUser
  5. -- Donde u.idUser es el id de la tabla usuario
  6. -- Y g.idUser es el id relacionado en la tabla gestion
Para el tema de que la lista no sea tan larga, una de dos, o realizas la consulta con limitaciones, por ejemplo solo las del usuario tal, solo las de valor x, etc..

O utilizas un paginador de resultados. Esto es muy relativo, ya que dependerá del resultado que busques en el proyecto.

Saludos,
__________________
Todos agradeceremos que pongas el código en su respectivo Highlight
  #4 (permalink)  
Antiguo 06/10/2011, 07:50
 
Fecha de Ingreso: abril-2011
Mensajes: 41
Antigüedad: 13 años
Puntos: 0
Respuesta: Asociar resultados de dos tablas

Muchas gracias, lo solucioné por Mysql usando LEFT JOIN, final la consulta no quedó tan grande.

Etiquetas: asociar, mysql, registro, resultados, tabla, tablas, usuarios
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 12:41.