Ver Mensaje Individual
  #9 (permalink)  
Antiguo 24/12/2012, 09:03
Avatar de javiertroya
javiertroya
 
Fecha de Ingreso: mayo-2009
Ubicación: Valencia
Mensajes: 15
Antigüedad: 15 años
Puntos: 2
Respuesta: Eliminar valores de un array / Listar array / MySQL

Hola que tal? Espero sigas leyendo, hace un tiempo tuve una aplicación parecida a la que dices y creo que tengo un código hecho, pero recuerdo haber usado algo distinto a un join ya que al igual que tu tabla, eran tres filas id_user, id_friend, frieandship_status.

Y mi consulta era la siguiente:

Código MySQL:
Ver original
  1. FROM  `friendship`
  2. WHERE id_user =1
  3. OR id_friend =1
  4. AND friendship_status =1

Sé que es muy simple pero, así como simple muy efectiva para lo que necesitaba ya que, si el usuario solicita la amistad el estaara en la columna id_user y si el es el que la acepta, estara en la columna id_friend siempre será así y cualquier otra cosa que necesites validar, la haces con esa misma consulta o con php. Como por ejemplo si el usuario visita el perfil otro digamos usuario 1 visita el perfil del 2 y quieres verificar si son amigos puedes hacer estas consulta:

Código MySQL:
Ver original
  1. #Primero si el 1 hizo la solicitud
  2. FROM  `friendship`
  3. WHERE id_user =1
  4. AND id_friend =2
  5. AND friendship_status = 1
  6.  
  7. #Luego si el 2 hizo la solicitud
  8. FROM  `friendship`
  9. WHERE id_user =2
  10. AND id_friend =1
  11. AND friendship_status = 1
  12.  
  13. # Verificar si la solicitud esta pendiente simplemente sustituye el 1 por 0 o el número que le asignes a pendiente, por ejemplo
  14.  
  15. FROM  `friendship`
  16. WHERE id_user =2
  17. AND id_friend =1
  18. AND friendship_status = 0

Espero te haya servido de mucha ayuda. debo destacar que el campo friendship_status para mi era un TINYINT.

Saludos!