• User

    @RoxasShadow said:

    In questo caso la query dovrebbe "echare" (accedendo nel profilo di Roxas Shadow) i nickname Nick1 e Nome Utente poichè sono entrambi accettati (1 = true) e non rifiutati e/o cancellati (0 = false).

    Secondo me è un approccio sbagliato proprio dalla progettazione, modifica il campo in modo che accetti solo i valori A,R,C ovvero Accettato, Rifiutato, Cancellato (mysql type enum) e poi modifica il form di conseguenza.
    La query poi diventa una semplice

    
    SELECT DISTINCT id1, id2 WHERE (id1 = XXX OR id2 = XXX) and stato = A
    
    

    al posto di XXX mettici le tue condizioni.

    Ciao


  • User Attivo

    Ti ringrazio infinitamente mferraroni, lo script funziona che una meraviglia.
    Alla prossima.


  • User Attivo

    Ops, ho un problema 😄

    La query è questa

    $query=mysql_query('SELECT DISTINCT * FROM amicizie WHERE (id1 = "'.$nickname.'" OR id2 = "'.$nickname.'") AND stato = "A"');
    while($result = mysql_fetch_assoc($query)) {
    if($result['id1'] == $result['id2']) { continue; }
    echo $result["id2"].', ';
    }

    Il database è questo

    h ttp:/ /ww w.technicianpokemon.com/old-hosting/images/db2.png

    Io vorrei visualizzare "Linkino" ma visualizzo "Roxas Shadow" e lo stesso visualizzerà l' utente che ha $nickname impostato su "Linkino".

    Per piacere aiutatemi 😄


  • User

    @RoxasShadow said:

    Io vorrei visualizzare "Linkino" ma visualizzo "Roxas Shadow" e lo stesso visualizzerà l' utente che ha $nickname impostato su "Linkino".

    Ciao cambia

    
    echo $result["id2"].', ';
    
    

    con

    
    echo $result["id1"].', ';
    
    

    poi un consiglio, cerca di non utilizzare l'asterisco (*) nelle query che non è il massimo in fatto di performance, ma specifica sempre i campi che ti servono, in questo caso ti servono solo id1 ed id2

    Ciao
    Matteo


  • User Attivo

    Si ma in questo caso cambia per me, ma non per tutti: mi spiego.

    Con id1 io accedendo con $nickname a Linkino visualizzo "Linkino", la stessa cosa accade accedendo con $nickname a Roxas Shadow visualizzo "Roxas Shadow".
    A me servirebbe che se accedessi con $nickname "Linkino" visualizzassi "Roxas Shadow" e viceversa, accedendo con $nickname "Roxas Shadow" visualizzassi "Linkino".

    Grazie per il tempo e l' aiuto dedicatomi.


  • User

    @RoxasShadow said:

    Si ma in questo caso cambia per me, ma non per tutti: mi spiego.

    Con id1 io accedendo con $nickname a Linkino visualizzo "Linkino", la stessa cosa accade accedendo con $nickname a Roxas Shadow visualizzo "Roxas Shadow".
    A me servirebbe che se accedessi con $nickname "Linkino" visualizzassi "Roxas Shadow" e viceversa, accedendo con $nickname "Roxas Shadow" visualizzassi "Linkino".

    Se ho capito bene la struttura della tabella id1 è il nick e id2 è il nome dell'utente, quindi tu vuoi far accedere sia con il nome sia con nick, e visualizzare sempre il nick, giusto?

    Ciao


  • User Attivo

    E' un sistema di amicizie.
    Id1 è il richiedente, Id2 è il destinatario dell' amicizia.
    Se accedo come richiedente dovrò vedere Id2 e se accedo come destinatario vedrò Id1.


  • User

    @RoxasShadow said:

    E' un sistema di amicizie.
    Id1 è il richiedente, Id2 è il destinatario dell' amicizia.
    Se accedo come richiedente dovrò vedere Id2 e se accedo come destinatario vedrò Id1.

    Ok.

    allora puoi fare così:

    
    $whoami = <nickname con cui sono dentro al sistema>
    $query=mysql_query('SELECT DISTINCT * FROM amicizie WHERE (id1 = "'.$nickname.'" OR id2 = "'.$nickname.'") AND stato = "A"');
    while($result = mysql_fetch_assoc($query)) {
      if($result['id1'] == $whoami) {  // se sono richiedente...
        echo $result['id2']; // ...vedo id2 
    } else {                   // altrimenti....
        echo $result["id1"]; // ...vedo id1 
    } ;
    
    

    Spero che sia chiaro.
    Ciao
    Matteo


  • User Attivo

    Funziona finalmente! 😄

    Ti ringrazio infinitamente, a presto.


  • User

    @RoxasShadow said:

    Funziona finalmente! 😄

    Ti ringrazio infinitamente, a presto.

    Di nulla, alla prox.

    Ciao