Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Seleccionar dos personas

Estas en el tema de Seleccionar dos personas en el foro de Mysql en Foros del Web. Hola a todos, estoy haciendo una web de encuentros o algo similar será jaja, bien, tengo un recuadro donde dicen cuantas personas quieren conocerte, cuantas ...
  #1 (permalink)  
Antiguo 28/02/2012, 12:24
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 10 meses
Puntos: 5
Seleccionar dos personas

Hola a todos, estoy haciendo una web de encuentros o algo similar será jaja, bien, tengo un recuadro donde dicen cuantas personas quieren conocerte, cuantas quieres conocer y me falta el ultimo, cuantas personas quieren conocerte y tu conocerlas a ellas, algo asi como "atraccion mutua". es decir, si me gusta maria y maria gusta de mi, quiero que ese recuadro se llene con 1, osea, una atraccion mutua.

esta es mi db

Código MySQL:
Ver original
  1. CREATE TABLE IF NOT EXISTS `interaccion` (
  2.   `id_interaccion` int(11) NOT NULL AUTO_INCREMENT,
  3.   `de_interaccion` int(11) NOT NULL,
  4.   `a_interaccion` int(11) NOT NULL,
  5.   `valor_interaccion` int(11) NOT NULL,
  6.   PRIMARY KEY (`id_interaccion`)
  7. )

Las consulta para saber cuantas solicitudes mande es la siguiente:

Código MySQL:
Ver original
  1. SELECT * FROM interaccion WHERE de_interaccion = "'.$_SESSION['fid_username'].'" AND valor_interaccion != 3

La consulta para saber cuantas solicitudes me mandaron es la siguiente:

Código MySQL:
Ver original
  1. SELECT * FROM interaccion WHERE a_interaccion = "'.$_SESSION['fid_username'].'" AND valor_interaccion != 3

Y la que me da problemas y no se como hacerla, es la de atracciones mutuas, lo intenté asi pero esta mal mi logica y de sql lo que se es porque lo necesitaba xD:

Código MySQL:
Ver original
  1. SELECT * FROM interaccion WHERE a_interaccion = "'.$_SESSION['fid_username'].'" AND de_interaccion = "'.$_SESSION['fid_username'].'" AND valor_interaccion != 3

Como puedo hacer esta ultima?, saludos!!
__________________
Mi primera web: http://www.mascoteame.com
  #2 (permalink)  
Antiguo 29/02/2012, 02:34
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Seleccionar dos personas

Tal y como lo defines tú la atracción mutua existe sólo cuando X vota y Y, y además Y ha votado a X siendo el valor <> 3. Para esto necesitas saber quiénes han votado a X luego hacer la select. En este ejemplo $_SESSION['fid_username'] es siempre 1.


Código MySQL:
Ver original
  1. SELECT I.*
  2. FROM interaccion I
  3. WHERE (I.de_interaccion = "1"
  4.        AND I.a_interaccion IN(SELECT
  5.                                 de_interaccion
  6.                               FROM interaccion H
  7.                               WHERE H.a_interaccion = "1"))
  8.     AND valor_interaccion <> 3
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 29/02/2012, 19:59
Avatar de VbOkonly  
Fecha de Ingreso: julio-2009
Ubicación: San Justo, Buenos Aires, Argentina
Mensajes: 490
Antigüedad: 14 años, 10 meses
Puntos: 5
Respuesta: Seleccionar dos personas

Resuelto!!!, ahora veré la forma de entenderlo y como mostrarlo en pantalla, muchas gracias!, ahi te tiro karma xD
__________________
Mi primera web: http://www.mascoteame.com

Última edición por VbOkonly; 29/02/2012 a las 20:58

Etiquetas: personas, select, sql
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 10:25.