Ver Mensaje Individual
  #1 (permalink)  
Antiguo 05/11/2007, 12:20
albertoshu
 
Fecha de Ingreso: agosto-2007
Mensajes: 237
Antigüedad: 16 años, 8 meses
Puntos: 1
ayuda para plantear una query

Hola a todos,

A ver si podeís ayudarme a plantear una consulta sql.

Tengo una tabla (tabla "amigos") en la que guardo los "usuarios" que son amigos de otros "usuarios". Para ello, la tabla "amigos" tiene dos columnas "id_usuario" y "id_amigo" (por tanto, si hago "select * from amigos where id_usuario=2" obtengo todos los amigos del usuario 2.). Por otro lado, tengo un formulario html con un "campo de tipo lista" (que permite seleccion multiple) en el que se listan todos los usuarios.

Lo que necesito es poder seleccionar en el campo de tipo lista del formulario html varios usuarios y obtener todos los amigos de estos usuarios ( supongamos que en el campo de lista selecciono los usuarios 2,7,106: la consulta a realizar sería "select * from amigos where id_usuario=2 or id_usuario=7 or id_usuario=106".

El problema, es que la lista de usuarios que aparece en el campo de tipo lista del formulario html puede ser muy larga y el numero de usuarios seleccionados puede ser también muy grande,...¿que pasaría si se seleccionan 300 usuarios en la lista? Mi query tendría 300 "or", lo que no tiene pinta de estar muy bien.

Se os ocurre una solución mejor?

Saludos a todos.

PD= estoy programando con php.