Visualizzazione dei risultati da 1 a 5 su 5

Discussione: [PHP] Sommare un array

  1. #1

    [PHP] Sommare un array

    Ciao a tutti,

    con questa query:

    Codice PHP:
    <?php  
    $risultato 
    mysql_query('
    SELECT numero, prezzo, (numero*prezzo) AS parziale 
    FROM utenti 
    ORDER BY nome ASC' 
    );
     
    if(
    $risultato == FALSE) {echo "Errore nel recupero dei dati";}  

    $num mysql_num_rows($risultato);
    while(
    $num 0) {     
    $riga mysql_fetch_array($risultato);    
    echo 
    $riga['numero']. ", ".$riga['prezzo']." ".$riga['parziale']."</ br></ br></ br> ";    
    $num--;    }     
    ?>

    mi estraggo i dati da una tabella e faccio una somma dei valori per ogni riga,
    se volessi sommare i valori dell'array $riga['parziale'] come devo fare?

    ho provato con la funzione array_sum($riga['parziale']) ma mi restituisce un errore:

    Warning: array_sum() expects parameter 1 to be array, string given in

    mi spiegate dove sbaglio?

    Grazie!

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,505
    Su un result set il ciclo si fa così
    Codice PHP:
    while($riga mysql_fetch_array($risultato) )
    {
        echo 
    $riga['numero']. ", ".$riga['prezzo']." ".$riga['parziale']."</ br></ br></ br> ";    

    quindi senza contatore $num, che non serve.

    Poi $riga['parziale'] è per l'appunto il valore presente nel campo "parziale" della riga in esame, quindi è un numero e non un array.

    La somma la puoi fare mentre esegui il ciclo while.
    Prima del ciclo inizializza una variabile, per esempio
    $somma = 0;
    dentro il ciclo, prima o dopo l'echo (fa lo stesso) ci metti
    $somma += $riga['parziale'];
    Alla fine del ciclo avrai in $somma la somma dei parziali.

  3. #3
    ti ringrazio!

    ma tanto per imparare, la funzione mysql_fetch_array() non mi restituisce un array?

    $riga['parziale'] non è un array di valori estratti dal database?

  4. #4
    Quote Originariamente inviata da BarakObama Visualizza il messaggio
    ti ringrazio!

    ma tanto per imparare, la funzione mysql_fetch_array() non mi restituisce un array?

    $riga['parziale'] non è un array di valori estratti dal database?
    $riga è un array mentre $riga['parziale'] è un elemento dell'array.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  5. #5
    ah ecco.

    grazie mille a buon rendere.

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.