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

    ordinamento di una query

    ho una variabile $result che contiene dei numeri ottenuti da una query
    successivamente mi creo un'altra query...voglio che quest'ultima sia ordinata per $result, quindi ORDER BY $result.
    Ho notato che non si può ordinare per una variabile, come posso sviare?

    grazie anticipatamente

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Spiegati meglio. Fai un esempio di cosa contiene result e di ciò che vorresti ottenere.

  3. #3
    dovrei stampare gli utenti con piu messaggi privati inviati

    il mio procedimento è il seguente

    Codice PHP:
    //recupero il mittente
     
    $messaggiati=mysql_query("SELECT DISTINCT mittente, userID, username
                                                       FROM t_messaggi_privati, t_utenti 
                                                       WHERE mittente = userID "
    );
     
    $ris=mysql_fetch_array($messaggiati);

    //dal mittente conto il n° di messaggi privati inviati dallo stesso
     
    while($ris){
              
    $mittente=$ris["mittente"];
              
    $count "SELECT COUNT(mittente)
                            FROM t_messaggi_privati 
                   WHERE mittente = 
    $mittente ";
              
    $query=mysql_query($count);
              
    $result=mysql_result($query0);
    //result quindi conterrà il n° di messaggi inviati per ogni utente

    //ora creo la query per mandare in stampa username (n° messaggi inviati) ordinandoli per $result ed è qui che si impallina...se levo order by result mi stampa nomi e n° messaggi inviati alla rinfusa ordinandoli per mittente...ma io vorrei ordinarli per n° messaggi

    $mess=mysql_query("SELECT DISTINCT mittente, username
               FROM t_messaggi_privati, t_utenti 
               WHERE mittente = userID 
               AND mittente = 
    $mittente 
               ORDER BY 
    $result DESC");
              
    $record=mysql_fetch_array($mess);

    echo (
    $record["username"]." (".$result.")
    "
    );
              
    $ris=mysql_fetch_array($messaggiati);


  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    $mess=mysql_query("SELECT DISTINCT mittente, username
    FROM t_messaggi_privati, t_utenti
    WHERE mittente = userID
    AND mittente = $mittente
    ORDER BY $result DESC");

    1)in questa query non ho capito il senso di mittente = userID e mittente = $mittente.
    2) mysql_result è deprecata come riportato nel manuale e non dovresti utilizzarla.
    3) non so come sia strutturata la tua tabella ma magari basta una query così

    select mittente,count(mittente) as messaggi
    from t_messaggi_privati
    group by mittente
    order by messaggi desc

  5. #5
    codice:
    CREATE TABLE t_messaggi_privati(
     mpID int not null primary key auto_increment, 
     titolo VARCHAR(50),
     testo TEXT,
     mittente int references t_utenti(userID),
     destinatario int references t_utenti(userID),
     data DATE,
     ora TIME,
     stato varchar(50)
    )TYPE=INNODB;
    mittente = userID mi serve per mantenere la relazione con la tabella utenti per poi andarci a stampare l'username.

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.