Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    22

    ordinare dati di più tabelle

    Salve a tutti,
    il mio problema è il seguente:
    Ho due query concatenate che mi creano una tabella con due colonne (nick e punti), naturalmente l' ordine dei risultati dipende dalla prima query. Io vorrei ordinare i risultati, in particolare della colonna punti, in ordine decrescente ma non so che approccio usare.
    Per chiarezza vi posto il codice che utilizzo.
    Codice PHP:
    <?php     
    $classifica 
    mysql_query("SELECT * FROM giocatori ORDER BY id ASC");
        
    starttable('75%','Classifica');

        
    // Visualizza Classifica
        
    $row mysql_fetch_array($classifica);
        while (
    $row) {
                    
    $lista_link $row["nick"];
                        
    $media mysql_query("SELECT AVG(punti) AS avg FROM $lista_link");
                            
    $row mysql_fetch_array($media);
                            while (
    $row) {
                                    
    $lista $row["punti"];
                                    print 
    "<tr>"
                                    print 
    '  <td width="40%" class="tableb">';
                                        print 
    "    <div align=\"left\">"$lista_link 
     ' 
    ."</div>";
                                    print 
    "  </td>";
                                    print 
    '  <td width="40%" class="tableb">';
                                        print 
    "    <div align=\"left\">"$row["avg"] . 
     ' 
    ."</div>";
                                    print 
    "  </td>";
                                    print 
    "</tr>";                
                            
    $row mysql_fetch_array($media);
                            }
                    
    $row mysql_fetch_array($classifica);
                    }
        
    endtable();
    ?>
    Il risultato è il seguente:

    Classifica
    Daniele 39.4215000
    Stefano 40.6417907
    Michele 30.9687222
    nome .....

    Se qualcuno può aiutarmi ne sarei molto grato. Grazie

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Non mi è chiaro come hai strutturato le tabelle.

    Per fare ciò che chiedi è sufficiente la funzione sum e un raggruppamento per utente.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    22
    ogni giocatore ha una sua tabella.
    Ricavo i nomi dalla tabella giocatori e eseguo la queri su ognuna di queste tabelle.
    ogni ciclo mi stampa una riga, per questo i dati sono ordinati secondo l' elenco dei nomi e non dei risultati.

  4. #4
    Utente di HTML.it L'avatar di alpeweb
    Registrato dal
    Oct 2002
    Messaggi
    1,691
    Butti tutti i dati in un array con coppie "NOME"=>"AVG" poi lo ordini
    e infine crei l'output con un foreach
    ...altri 5 anni di purga...

  5. #5
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Originariamente inviato da diadix
    ogni giocatore ha una sua tabella.
    Ricavo i nomi dalla tabella giocatori e eseguo la queri su ognuna di queste tabelle.
    ogni ciclo mi stampa una riga, per questo i dati sono ordinati secondo l' elenco dei nomi e non dei risultati.
    alpeweb ti ha già dato la soluzione ma non mi sembra buono il modo in cui hai progettato il tutto.

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2007
    Messaggi
    22
    lo so, ma sono partito da una struttura già esistente. Proverò così, anche se prima o poi dovrò ristrutturare tutto, non è il primo problema che incontro con questa struttura.
    grazie per il suggerimento

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.