Foros del Web » Programando para Internet » PHP »

Consulta MySQL para relacionar tablas

Estas en el tema de Consulta MySQL para relacionar tablas en el foro de PHP en Foros del Web. Que tal gente, les traigo una duda que la verdad no se como resolver, Tengo 2 tablas mysql que tengo que relacionar, una de usuarios ...
  #1 (permalink)  
Antiguo 29/10/2009, 16:32
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Consulta MySQL para relacionar tablas

Que tal gente, les traigo una duda que la verdad no se como resolver,

Tengo 2 tablas mysql que tengo que relacionar,

una de usuarios con otra con sus trabajos

hice esta consulta, seleccionando todos los campos de la BD trabajos, y el ID del usuario de la bd de usuarios, y despues seguí como ven en el codigo

Código PHP:
$trabajosterminados mysql_query("SELECT trabajos.idTrabajo, trabajos.ID_Usuario, trabajos.Nombre, trabajos.Descripcion, trabajos.Estado, clientes.ID_Usuario FROM trabajos inner join clientes on trabajos.ID_Usuario=clientes.ID_Usuario WHERE trabajos.Estado=Finalizado'");

while(
$registros=mysql_fetch_array($trabajosterminados)){ .... } 
si alguien me puede ayudar le agradecería muchisimo, no se porque no funciona
  #2 (permalink)  
Antiguo 29/10/2009, 16:47
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 9 meses
Puntos: 25
Respuesta: Consulta MySQL para relacionar tablas

Código PHP:
Ver original
  1. $trabajosterminados = mysql_query("SELECT trabajos.idTrabajo, trabajos.ID_Usuario, trabajos.Nombre, trabajos.Descripcion, trabajos.Estado, clientes.ID_Usuario FROM trabajos inner join clientes on trabajos.ID_Usuario=clientes.ID_Usuario WHERE trabajos.Estado=Finalizado'") or die(mysql_error());

Sale algún error?
__________________
Hospedaje Web al mejor costo!
  #3 (permalink)  
Antiguo 29/10/2009, 17:22
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Consulta MySQL para relacionar tablas

"You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''' at line 1"
  #4 (permalink)  
Antiguo 29/10/2009, 17:24
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 9 meses
Puntos: 25
Respuesta: Consulta MySQL para relacionar tablas

'") or elimina la comilla simple '
__________________
Hospedaje Web al mejor costo!
  #5 (permalink)  
Antiguo 29/10/2009, 17:28
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Consulta MySQL para relacionar tablas

ahora dice "Unknown column 'Pendiente' in 'where clause'"

vamos avanzando!!! gracias!
  #6 (permalink)  
Antiguo 29/10/2009, 17:29
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 9 meses
Puntos: 25
Respuesta: Consulta MySQL para relacionar tablas

no sé si estoy ciego pero en esa consulta no veo "pendiente"
__________________
Hospedaje Web al mejor costo!
  #7 (permalink)  
Antiguo 29/10/2009, 17:30
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Consulta MySQL para relacionar tablas

Ya está, solo tenia que agregar '' a los "Estados"

!!
  #8 (permalink)  
Antiguo 02/11/2009, 10:44
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Consulta MySQL para relacionar tablas

Vuelvo con la DUDA, empeze a agregar registros y me di cuenta que todos van para todos los usuario, es decir que no está relacionando bien las tablas

la consulta final es esta

Código PHP:
$trabajospendietes mysql_query("SELECT trabajos.*, clientes.ID_Usuario from clientes  inner join trabajos  on clientes.ID_Usuario = trabajos.ID_Usuario WHERE trabajos.Estado="Pendiente" and trabajos.Estado="Avanzado" ORDER BY trabajos.idTrabajo") or die(mysql_error()); 
Los registros de trabajos, los muestra en todos los clientes, debería mostrar solo los que coincide su ID de usuario.
  #9 (permalink)  
Antiguo 02/11/2009, 10:48
Avatar de urgido  
Fecha de Ingreso: febrero-2005
Mensajes: 2.351
Antigüedad: 19 años, 9 meses
Puntos: 25
Respuesta: Consulta MySQL para relacionar tablas

para empezar en tu consulta tienes:
Código PHP:
Ver original
  1. trabajos.Estado="Pendiente"

lo cuál deberia ser:
Código PHP:
Ver original
  1. trabajos.Estado='Pendiente'

revisa el uso de comillas ;) ... hay dos errores creo...
__________________
Hospedaje Web al mejor costo!
  #10 (permalink)  
Antiguo 02/11/2009, 11:32
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Consulta MySQL para relacionar tablas

Si, ya los había notado, sin embargo cuando pongo comillas simples, todos los usuarios siguen levantando todos los trabajos, :(
  #11 (permalink)  
Antiguo 03/11/2009, 17:53
 
Fecha de Ingreso: diciembre-2005
Ubicación: Mar del Plata
Mensajes: 146
Antigüedad: 18 años, 11 meses
Puntos: 2
Respuesta: Consulta MySQL para relacionar tablas

No me di cuenta que podía simplemente hacer esta consulta:

SELECT * from trabajos WHERE (trabajos.ID_Usuario='$ID_Usuario') and (trabajos.Estado='Pendiente' or trabajos.Estado='Avanzado')"


Funciona a la perfección.
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 14:09.