Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/12/2012, 13:48
Avatar de Adrii952
Adrii952
 
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 12 años, 4 meses
Puntos: 7
Eliminar valores de un array / Listar array / MySQL

Hola, seguro que ya han tratado este tema pero buscando he encontrado de todo menos lo que buscaba.
Yo tengo una tabla en MySQL con 2 columnas, llamemoslas a y b.
Se trata de una lista de amistades de una red social. En a se encuentran los usuarios que enviaron las petición y en b los usuarios de destino.
Lo que necesito es obtener una lista de todos los amigos de un usuario.
Actualmente lo que estoy haciendo son dos consultas separadas a cada columna y luego las junto en un solo array pero me gustaría hacerlo en una sola consulta.
Eso lo puedo hacer con un "SELECT a,b FROM amistades WHERE a = 'id_usuario' XOR b = 'id_usuario'" lo cual me daría un array con dos columnas, a y b.
A partir de ahí la idea sería juntar esas dos columnas del array en una sola y quitar el id_usuario del propio usuario para poder proceder a listar los amigos del usuario.
Segundo problema, esta vez para listar el array. Supongamos que ya tengo un array con todos los ids de los amigos del usuario y tengo que listarlo. El id, que es lo que habrá en el array, no me sirve, así que tengo que realizar un bucle foreach que consulte cada nombre de usuario a partir de cada id del array para poder listar en la pantalla del cliente los nombres de sus amigos. Eso es lo que hago actualmente, lo cual me parece muy mal optimizado y estoy seguro de que hay alguna forma de hacer todo de golpe sin bucles de consultas a MySQL que reducen el rendimiento.
Espero que me puedan ayudar, gracias,