Foros del Web » Programando para Internet » PHP »

Consultar amigos red social

Estas en el tema de Consultar amigos red social en el foro de PHP en Foros del Web. Hola, estoy trabajando en una especie de red social, y tengo una duda sobre como analizar los datos de la tabla de amigos. La tabla ...
  #1 (permalink)  
Antiguo 18/05/2012, 11:09
Avatar de Adrii952  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 12 años, 4 meses
Puntos: 7
Consultar amigos red social

Hola, estoy trabajando en una especie de red social, y tengo una duda sobre como analizar los datos de la tabla de amigos.

La tabla es así:


Y el script que tengo actualmente para listar tus amigos en la red es este, dónde $usuario_flat vendría a ser tu nombre de usuario en la red.

Código PHP:
    //Lista de amigos
    
$consulta_amigos     mysql_query("SELECT * FROM amigos WHERE nombre_usuario_origen = '$usuario_flat' AND estado = 'aceptado'");
    
$consulta_amigos2     mysql_query("SELECT * FROM amigos WHERE nombre_usuario_destino = '$usuario_flat' AND estado = 'aceptado'");
    
$numero_de_amigos     mysql_num_rows(mysql_query("SELECT * FROM amigos WHERE nombre_usuario_origen = '$usuario_flat' AND estado = 'aceptado' OR nombre_usuario_destino = '$usuario_flat' AND estado = 'aceptado'"));

    
$column = array();
    while(
$array_amigos mysql_fetch_array($consulta_amigos2)) {
        
$column[] = $array_amigos[1];
    }
    
$column2 = array();
    while(
$array_amigos mysql_fetch_array($consulta_amigos)) {
        
$column2[] = $array_amigos[2];
    }

    
$lista_de_amigos array_merge($column$column2);
    
sort($lista_de_amigos);

    echo (
"<div id='caja'><p>Lista de amigos</p>");
    if (
$numero_de_amigos == "0") {
        echo 
"No tienes amigos";
        echo (
'<HR width=100% align="center">');
    } else {
        if (
$numero_de_amigos == 1) {
            echo (
"Tienes ".$numero_de_amigos." amigo");
        } else {
        echo (
"Tienes ".$numero_de_amigos." amigos");
        }
        echo (
'<HR width=100% align="center">');
        foreach (
$lista_de_amigos as $listar_amigos){ 
        
$nombre_amigo mysql_fetch_array(mysql_query("SELECT nombre_mostrar FROM usuarios WHERE nombre_usuario_flat = '$listar_amigos'"));
        echo (
'<a href="/inicio?u='.$listar_amigos.'">'.$nombre_amigo['nombre_mostrar'].' <span style="color:#7F7F7F">@'.$listar_amigos.'</span></a><br>');
        echo (
'<HR width=100% align="center">');
        }
    }
    echo 
'</div>'
Básicamente lo que hace es buscar en una fila que tenga tu nombre de usuario, el amigo que está en la otra columna, y como se puede ver en la imagen, depende de quien haya enviado la solicitud de amistad que el amigo se encuentre en una columna u otra, por lo que con lo que sé actualmente he tenido que hacer un código que haga 2 consultas, las meta en arrays, y las fusione.

Pero creo que tendrá que haber otra forma más fácil. ¿Alguna idea? Gracias
  #2 (permalink)  
Antiguo 18/05/2012, 15:59
Avatar de Adrii952  
Fecha de Ingreso: diciembre-2011
Ubicación: Madrid
Mensajes: 116
Antigüedad: 12 años, 4 meses
Puntos: 7
Respuesta: Consultar amigos red social

Por favor necesito que me ayuden con esto, gracias

Etiquetas: consultar, mysql, red, social, sql, tabla, usuarios
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 08:19.