Ver Mensaje Individual
  #1 (permalink)  
Antiguo 01/01/2013, 12:16
Darkmarine
 
Fecha de Ingreso: septiembre-2009
Mensajes: 27
Antigüedad: 15 años, 2 meses
Puntos: 0
Búsqueda compleja

Buenas estoy atascadísimo con una búsqueda que tengo que hacer, he hecho una red social programada por mi, ahora quiero hacer un timeline como facebook, y sacar los registros de los usuarios que sean mis amigos, ahí está mi gran problema, porque en el sql tengo que comprobar si son amigos y si lo son sacar sus registros.

La tabla de relaciones entre usuarios es

Cita:
solicitudamistad
sa_id int(11) (id autonum)
sa_solicitante int(11) (el usuario que solicita amistad)
sa_solicitado int(11) (el usuario a quien se solicita)

sa_estado int(11)
sa_cuando datetime
sa_verificado int(11)
La tabla de usuarios
Cita:
usuarios
usu_id int(11) (id autonum)
La tabla de la que quiero sacar registros sería por ejemplo la de fotos etiquetadas, en si la SQL que hago es mucho más larga y compleja pero con uno de estos ejemplos me valdria para solucionar el resto.

Código:
fotos_tags
ft_id     int(11) (autonum)
ft_foto     int(11)
ft_usuario     int(11) (aquí llevaria el id de mi amigo que es lo que interesa)
ft_quien_etiqueta     int(11)
ft_verificado     int(11)
ft_cuando     datetime
ft_x     int(11)
ft_y     int(11)
Lo que necesito es el id del tag de la foto, y el campo de cuando, pero eso ya lo hace bien, lo que necesito es la relacion entre amigos.

Yo estaba haciendo algo así pero no me funciona

Código MySQL:
Ver original
  1. SELECT DISTINCT fotos_tags.ft_id as ids, fotos_tags.ft_cuando as fch,'fotos'
  2. as tabla FROM fotos_tags,solicitudamistad
  3. INNER JOIN usuarios ON solicitudamistad.sa_solicitante = usuarios.usu_id
  4. LEFT JOIN usuarios u2 ON solicitudamistad.sa_solicitado = u2.usu_id
  5. WHERE sa_estado=2
  6. AND ((sa_solicitante=".$perfilid.") OR (sa_solicitado=".$perfilid."))
  7. AND usuarios.usu_id!=".$perfilid.")                                
  8. ORDER BY fch DESC, ids DESC";
Gracias de antemano!

Última edición por gnzsoloyo; 01/01/2013 a las 13:02 Razón: Codigo SQL mal etiquetado