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

    stampare la somma SUM Function

    Ciao a tutti,

    vorrei stampare il totale del punteggio di ogni atleta:



    $query_finale_totale = "SELECT SUM (punteggio) FROM classifica WHERE idRegata_FK = $pluto AND id_Atleta = $idAtleta_FK AND idProva = $idProva_FK";
    $result_finale_totale = mysql_query($query_finale_totale) or die($query_finale_totale);
    $fetch_finale_totale = mysql_fetch_array($result_finale_totale,MYSQL_BOTH );
    echo('<div class="prova_punteggio">'.$fetch_finale_totale["punteggio"].'</div>');

    mi stampa questo invece che il totale:


    SELECT SUM (punteggio) FROM classifica WHERE idRegata_FK = 56 AND id_Atleta = 1 AND idProva = 9


    dove sbaglio?

  2. #2
    per raggruppare devi usare GROUP BY

    codice:
    $query_finale_totale = "SELECT SUM (punteggio) 
         FROM classifica 
         WHERE idRegata_FK = $pluto 
             AND id_Atleta = $idAtleta_FK 
             AND idProva = $idProva_FK
         GROUP BY id_Atleta";

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Ho provato cosi, ma il risultato non camiba:

    codice:
    $query_finale_totale = "SELECT SUM (punteggio) 
         FROM classifica 
         WHERE idRegata_FK = $pluto 
             AND id_Atleta = $idAtleta_FK 
             AND idProva = $idProva_FK
         GROUP BY id_Atleta";
    
    $result_finale_totale = mysql_query($query_finale_totale) or die($query_finale_totale);
    $fetch_finale_totale = mysql_fetch_array($result_finale_totale,MYSQL_BOTH);
    echo('<div class="prova_punteggio">'.$fetch_finale_totale["punteggio"].'</div>');
    ecco cosa stampa:

    SELECT SUM (punteggio) FROM classifica WHERE idRegata_FK = 56 AND id_Atleta = 25 AND idProva = 9 GROUP BY id_Atleta


    Se invece tolgo la funzione SUM mi stampa (giustamente) solo il primo valore della tabella

    codice:
    $query_finale_totale = "SELECT punteggio 
         FROM classifica 
         WHERE idRegata_FK = $pluto 
             AND id_Atleta = $idAtleta_FK 
             AND idProva = $idProva_FK
         GROUP BY id_Atleta";
    
    $result_finale_totale = mysql_query($query_finale_totale) or die($query_finale_totale);
    $fetch_finale_totale = mysql_fetch_array($result_finale_totale,MYSQL_BOTH);
    echo('<div class="prova_punteggio">'.$fetch_finale_totale["punteggio"].'</div>');
    ecco cosa stampa:

    4

  4. #4
    $query_finale_totale = "SELECT SUM (punteggio) AS pt_tot
    FROM classifica
    WHERE idRegata_FK = $pluto
    AND id_Atleta = $idAtleta_FK
    AND idProva = $idProva_FK
    GROUP BY id_Atleta";

    $result_finale_totale = mysql_query($query_finale_totale) or die($query_finale_totale);
    $fetch_finale_totale = mysql_fetch_array($result_finale_totale,MYSQL_BOTH );
    echo('<div class="prova_punteggio">'.$fetch_finale_totale["pt_tot"].'</div>');

  5. #5
    se non metti l'alias al campo prodotto da SUM() non devi usare l'indice associativo ma l'indice numerico quando estrai il result set.

    codice:
    echo('<div class="prova_punteggio">'.$fetch_finale_totale[0].'</div>');

    prova a stampare l'array $fetch_finale_totale per vedere come si chiama il campo senza alias.

    codice:
    print_r($fetch_finale_totale);

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  6. #6
    cosi sembra funzionare:

    codice:
    $querysum = mysql_query("SELECT SUM(punteggio) 
    FROM classifica
    WHERE idRegata_FK = $pluto
    AND id_Atleta = $idAtleta_FK
    GROUP BY idRegata_FK");
    
    $row = mysql_fetch_row($querysum);
    echo('<div class="prova_punteggio_totale">'.$row[0].'</div>');
    ora vorrei assegnarli un alias per poi poter ordinare la lista in ordine ascendente


    codice:
    $querysum = mysql_query("SELECT SUM(punteggio) AS totale
    FROM classifica
    WHERE idRegata_FK = $pluto
    AND id_Atleta = $idAtleta_FK
    GROUP BY idRegata_FK
    order by totale asc");
    
    $row = mysql_fetch_row($querysum);
    echo('<div class="prova_punteggio_totale">'.$row["totale"].'</div>');
    in questo caso non mi stampa nessun risultato.

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.