Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 33

Discussione: Media di valori in PHP

  1. #1

    Media di valori in PHP

    Salve vorrei fare la media di alcuni valori che ricavo da una tabella di un db ...
    ...

  2. #2
    Se il DB è MySQL puoi utilizzare la funzione AVG():

    codice:
    SELECT AVG(colonna) FROM tabella;
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  3. #3
    provo

  4. #4
    Grazie mille con le funzioni sql è fattibilissimo, ma se volessi farlo in php!!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    in php
    ti prelevi i dati con il select
    fai un while
    Codice PHP:
    $querymysql_query("SELECT campovalori FROM tabella");
    while(
    $dati=mysql_fetch_array($query)){
    $valori[]= $dati['campovalori']
    $t++;
    }
    $sommaarray_sum($valori);
    $media$valori/$t;
    echo 
    $media

  6. #6
    Se hai una funzione che te lo fa ti consiglio di utilizzare quella che è sicuramente più performante. Se invece vuoi utilizzare PHP ti basta banalmente effettuare una select classica e scorrere il resultset sommando di volta in volta il valore ricavato dalla colonna della quale vuoi effettuare la media ed infine dividere tale risultato per il numero di record (media aritmetica).
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    sono d'accordo cn satifal..se ci sono funzioni adatte tanto vale usarle...altrimenti puoi fare come ti ho postato..non l'ho testato ma quello che ho scritto secondo logica è avere i dati prelevati dal db in un array, sommare i dati dell'array...nel frattempo $t è un contatore che ti conta i dati e poi fai la divisione avendo somma e totale dati

  8. #8
    scusate sto impazzendo ho provato due soluzioni per avere la media :

    soluzione 1:
    //////conta record
    $query = mysql_query("SELECT * FROM misure WHERE data = '$data' " );
    $num=mysql_num_rows($query);


    echo "Record totali nella tabella misure = ". $num. "per il giorno".$data;
    ?>

    <?

    #############################à


    //query somma array su tabella misure
    $sql = mysql_query("SELECT SUM Valore FROM misure WHERE data = '$data' " );
    //while($misure = mysql_fetch_array($sql)){

    $valore = $misure;

    }


    // la media
    $media = $num/$valore;

    echo 'MEDIA' .$media; // E qui fai vedere la media



    soluzione 2

    $mediagg = mysql_query ("SELECT AVG(Valore) FROM misure WHERE data = '$data'");
    echo 'MEDIA giorno '.$mediagg ;



    Tutte e due le soluzioni mi danno errore

    la seconda mi restituisce questo : MEDIA giorno Resource id #5

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    perchè la query che fai restituisce un identificativo di risorsa non numero

    ti consiglio di leggerti la guida di mysql

    http://it.php.net/mysql_query
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #10
    Utente di HTML.it
    Registrato dal
    Jan 2009
    Messaggi
    777
    scusa egidio la mia soluzione postata sopra non va?

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.