[PHP] problema maggiore e minore

Discussione in 'PHP' iniziata da tripla_m, 1 Febbraio 2019.

  1. tripla_m

    tripla_m Nuovo Utente

    Registrato:
    1 Febbraio 2019
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    Ciao a tutti
    questo è il mio primo post in questo forum e sono arrivato fin qua per questo problema.
    Devo prelevare da una tabella sql (uso altervista come host del mio sito) i valori meteorologici di temperatura, pressione e umidità in una data specifica, e fin qua nessun problema. Il problema nasce quando devo tirarmi fuori i valori massimi e minimi di quella giornata. Questo è il codice:

    PHP:
                $ultimo_t mysql_query ("SELECT * FROM meteo WHERE date_temp = CURDATE()");
                
    $num mysql_num_rows($ultimo_t);
                
                for(
    $i;$i<$num;$i++){
                    
    $t mysql_fetch_array($ultimo_t);
                    
                    if(
    $t['temperatura'] > $t_max['temperatura']){
                        
    $t_max['temperatura'] = $t['temperatura'];
                    }
                    
                    if(
    $t['temperatura'] < $t_min['temperatura']){
                        
    $t_min['temperatura'] = $t['temperatura'];
                    }
                }
                
                echo(
    $t_max['temperatura']);
                echo(
    "/");
                echo(
    $t_min['temperatura']);
    Il problema non è con t_max, bensì con t_min che non riesco a vedere in nessun modo.
    Voi avete qualche idea

    P.S. non son molto bravo con php, ma capisco molto bene il C
     
  2. fratt

    fratt Nuovo Utente

    Registrato:
    19 Gennaio 2019
    Messaggi:
    33
    Mi Piace Ricevuti:
    4
    Punteggio:
    8
    Occupazione:
    Dilettante
    Da qualche parte inizializzi t_max e t_min?
    Come?
     
  3. marino51

    marino51 Utente Attivo

    Registrato:
    28 Febbraio 2013
    Messaggi:
    2.518
    Mi Piace Ricevuti:
    123
    Punteggio:
    63
    Occupazione:
    free lance
    Località:
    Lombardia
    come detto devi inizializzare i valori di partenza prima del for (attento al segno meno),
    PHP:
    $t_max['temperatura'] = -9999999.99;
    $t_min['temperatura'] =  9999999.99;

    for(
    $i;$i<$num;$i++){
    poi dovresti evitare le parentesi all'echo
    PHP:
    echo $t_max['temperatura'];
    echo 
    "/";
    echo 
    $t_min['temperatura'];
    ,
     
  4. macus_adi

    macus_adi Utente Attivo

    Registrato:
    5 Dicembre 2017
    Messaggi:
    920
    Mi Piace Ricevuti:
    53
    Punteggio:
    28
    Sesso:
    Maschio
    Occupazione:
    Developer
    Località:
    L'Aquila
    caricando i dati fetchall(), basterebbe solo questo, senza confronti etc...
    PHP:
    //in es: $model=array(0=>array('temperatura'=>int)......);
    $array=new SplFixedArray($num);
    $array array_column($model'temperatura');
    echo 
    min($array).' - '.max($array); //rispettivamente Temperatura minima e Temperatura massima dal cluster
     
  5. tripla_m

    tripla_m Nuovo Utente

    Registrato:
    1 Febbraio 2019
    Messaggi:
    2
    Mi Piace Ricevuti:
    0
    Punteggio:
    1
    Sesso:
    Maschio
    ciao a tutti e grazie per l' aiuto. In effetti non avevo dichiarato nulla, mi è bastato mettere tutto dentro a un array e poi con la funzione min e max prelevare i valori. Ecco il codice:
    PHP:
    $ultimo_t mysql_query"SELECT temperatura FROM meteo WHERE date_temp = CURDATE()" );
                
    $array_t = array();
                while(
    $t mysql_fetch_array($ultimo_t)){
                    
    $array_t[] = $t[0];
                }
    echo 
    min($array_t);
    echo 
    max($array_t);
    Poi questo codice l'ho ripetuto anche per la pressione e l' umidità
     
Sto caricando...

Condividi questa Pagina