Ver Mensaje Individual
  #7 (permalink)  
Antiguo 11/04/2013, 16:53
minombreesmm
 
Fecha de Ingreso: agosto-2012
Ubicación: M.
Mensajes: 2.031
Antigüedad: 11 años, 8 meses
Puntos: 52
Respuesta: Estructura de tabla para relaciones de amistad en sql

Cita:
Iniciado por zalito12 Ver Mensaje
Por eso te hablaba de una tabla con campo tipo. No guardarías dos registros, sólo uno, por ejemplo, con el tipo 3 son amigos, ya puedes filtrar todos los amigos de forma fácil.
Si quisieras hacer esas comprobación de algún usuario, por ejemplo PEPE está registrado y quieres ver que tipo de relación tiene con JUAN.
Código SQL:
Ver original
  1. SELECT * FROM relaciones WHERE (user1 = PEPE AND user2 = JUAN) OR (user2 = PEPE AND user1 = JUAN);
- Si no devuelve registros, no tienen ninguna relación
- Si hay algún registro tienen una relación dependiendo del campo tipo, con eso ya juegas a tu gusto, amigos, solicitud, bloqueado, etc.

Lo del captcha puede ser por la red o algo, a mi no me lo pide.


de acuerdo a lo que veo, si entiendo, la pregunta es de donde se que el usuario amigo se llamara pepe o juan?
se supone que cuando recojo la lista no se los nombres.
entonces debio haber una consulta previa a esa donde obtuve los nombres. sin embargo la idea es solo hacer una consulta para que sea optimo.


lo que tu decias lo entendi mas o menos asi.
Código SQL:
Ver original
  1. SELECT * FROM amigos WHERE (amigos.idusuario=303 OR amigos.idamigo=303) ;

Bueno.
Creo que a fuerzas se tienen que insertar dos registros.

idusuario-idamigo
303-301
301-303


por eso uno se llama campo
idusuario y el otro idamigo




donde 303 es el id del usuario que esta haciendo la consulta a sus amistades.
entonces esto me regresa los registro de la tabla relaciones. en esa tabla solo se encuentran los campos
idprimary idamigo, idusuario, estadodesolicitud.

y me regresa

idusuario-idamigo
303-301
301-303
esos datos asi.
ahora yo lo que quiero es obtener los otros campos de cada amigo..
de la tabla usuarios, es alli donde estoy estancado.


n=totaldeamigos por usuario.
tenia pensado sacar las relaciones y luego solo guardar los ids de los amigos
y luego en un for hace n consultas para mostrar los datos de cada amigo
__________________
a veces creemos que es algo básico pero al profundizar nos damos cuenta que estábamos tocando solo la cola de la culebra

Última edición por minombreesmm; 11/04/2013 a las 17:14