Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    vedere risultati di una query all'interno di un altra. HELP!!!

    ciao.
    ho un problema che non so come risolvere.

    Devo mostrare i risultati di una query su una tabella che otterrà il risultato di elencare gli ultimi username degli utenti e i loro ultimi attuali status.
    Ma vorrei fare che apparisse solo per quegli utenti che sono inseriti in un altra tabella come amici dell'utente che visualizza la pagina.

    l'utente che visualizza la pagina è $usrinfo[username].

    le due tabelle sono così conformate:
    ".$prefix."_users_status: username - Status - Time
    ".$prefix."_personals_friends: user - hasuser

    il codice che ho pensato è così:

    Codice PHP:
                 $query "SELECT * FROM ".$prefix."_users_status where username!='$usrinfo[username]' ORDER BY Time DESC LIMIT 0 , 5";
    $result $db->sql_query($query);
        if(
    $db->sql_numrows($result) > 0) {
    while (
    $row mysql_fetch_array($result))
            {
                
    $query2 "SELECT * FROM ".$prefix."_personals_friends where user='$usrinfo[username]' and hasuser='$row[username]'";
                
    $result2 $db->sql_query($query2);
                if(
    $db->sql_numrows($result2) > 0)
                {            
                    echo 
    "<img src=\"http://www.harryweb.net/images/arrow.gif\"> <a href=\"modules.php?name=Your_Account&op=userinfo&username=".$row[username]."\">".$row[username]."</a> ".$row[Status]."
    "
    ;
                }
                else
                {            
                    echo 
    "<img src=\"http://www.harryweb.net/images/arrow.gif\"> ".$row[username]." ".$row[Status]."
    "
    ;
                }
            }

    però mi mostra un risultato di questo tipo:


    grifondora è pensierosa
    Cosetto basso profilo
    Kate Wow!!! Il sito rinnovato è bellissimo!!! O__O
    Sakuragi sta organizzando un piano malefico di vendetta con i vertici della Casata muaaaaaa
    Mavero93 si chiede se questa è una novità O.O
    dove i nick degli amici sono clikkabili e quelli dei non amici non lo sono.
    se cancellassi
    Codice PHP:
                    else
                {            
                    echo 
    "<img src=\"http://www.harryweb.net/images/arrow.gif\"> ".$row[username]." ".$row[Status]."
    "
    ;
                } 
    otterrei la lista degli status dei soli amici.
    il problema è che se l'utente tra le 5 persone che hanno aggiornato recentemente lo status ha solo 2 amici, vedrà solo due risultati.
    invece io vorrei vedesse i 2 recentissimi, e altri 3 presi andando un po' più indietro nella tabella.

    =S come si può fare????
    disponibile per ulteriori informazioni.

    grazie a chiunque mi aiuterà.

  2. #2
    scusate il doppio post. l'ho risolta così:

    Codice PHP:
                     $query "SELECT DISTINCT * FROM ".$prefix."_users_status 
                    
                    INNER JOIN "
    .$prefix."_personals_friends ON ".$prefix."_users_status.username = ".$prefix."_personals_friends.hasuser

                    WHERE "
    .$prefix."_personals_friends.user='$usrinfo[username]
                    
                    ORDER BY "
    .$prefix."_users_status.Time DESC
                    
                    LIMIT 0, 5"
    ;

                    
    $result $db->sql_query($query);
                 
        if(
    $db->sql_numrows($result) > 0) {
    while (
    $row mysql_fetch_array($result))
            {
                
                    echo 
    "<img src=\"http://www.harryweb.net/images/arrow.gif\"> <a href=\"modules.php?name=Your_Account&op=userinfo&username=".$row[username]."\">".$row[username]."</a> ".$row[Status]."
    "
    ;

            }

    Non so se è corretto e ottimizzato ma ora funziona nel modo che volevo.
    Se qualcuno sa di meglio può sempre rispondermi.. ^_^

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.