Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21
  1. #1

    valore massimo e minimo

    Salve ragazzi ho bisogno di voi. Ho questo database dal nome sensore1
    nella foto si può vedere come è strutturato.

    mysql.jpg

    in pratica devo estrapolare tramite mysql il valore minimo e quello massimo giornaliero del sensore di temperatura.
    Mi potreste aiutare.
    Visto che la foto si vede piccola faccio un riassunto.
    il database si chiama sensore1
    e il database è composto così

    data_time ! temperatura
    ------------------------------------------------
    2015-11-30 10:00:00 ! 11

    2015-11-30 14:41:50 ! 33

    2015-11-30 12:00:48 ! 27.125

    2015-11-24 08:00:00 ! 60

    2015-11-22 21:46:29 ! 5


    ho provato questo ma non funziona.

    codice:
    <?php$con=mysqli_connect("localhost","root","password","domotica");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }
    
    
    $result = mysqli_query($con,"select data_time, temperatura from sensore1 group by UNIX_TIMESTAMP(date(data_time));");
    
    
    
    
    echo "<table border='1' bordercolor='#FF0000'>
    <tr>
    <th>DATA E ORA</th>
    <th>TEMPERATURA</th>
    </tr>";
    
    
    while($row = mysqli_fetch_array($result))
    {
    echo "<tr>";
    echo "<td>" . $row['data_time'] . "</td>";
    echo "<td>" . $row['temperatura'] . " °C" . "</td>";
    echo "</tr>";
    }
    echo "</table>";
    
    
    mysqli_close($con);
    ?>

  2. #2
    SELECT giorno, MIN(temperatura), MAX(temperatura) FROM tabella GROUP BY giorno

  3. #3
    ho provato come mi hai detto
    SELECT data_time, MIN(temperatura), MAX(temperatura) FROM sensore1 GROUP BY data_time
    ma non funziona.

  4. #4
    Utente di HTML.it L'avatar di badaze
    Registrato dal
    Jun 2002
    residenza
    Lyon
    Messaggi
    5,372
    Quote Originariamente inviata da salvodj Visualizza il messaggio
    ho provato come mi hai detto
    SELECT data_time, MIN(temperatura), MAX(temperatura) FROM sensore1 GROUP BY data_time
    ma non funziona.
    data_time è un campo che contiene la data e l'ora. Devi convertirlo in "data" solo.
    Ridatemi i miei 1000 posts persi !!!!
    Non serve a nulla ottimizzare qualcosa che non funziona.
    Cerco il manuale dell'Olivetti LOGOS 80B - www.emmella.fr

  5. #5
    Quote Originariamente inviata da salvodj Visualizza il messaggio
    ma non funziona.
    salvo, che vuol dire "non funziona"? fa rumore? puzza? si accende a intermittenza?

  6. #6
    non mi stampa niente nella pagina php. Perdonami ma come faccio a convertirlo il data. Scusami è da poco che smanetto con mysql.

  7. #7
    lo script php che sto usando è questo

    <?php
    $con=mysqli_connect("localhost","root","password", "domotica");
    // Check connection
    if (mysqli_connect_errno())
    {
    echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }


    $result = mysqli_query($con,"SELECT DATE(data_time), MAX(temperatura) FROM sensore_esterno GROUP BY DATE(data_time)");






    echo "<table border='1' bordercolor='#FF0000'>
    <tr>
    <th>DATA E ORA</th>
    <th>TEMPERATURA</th>
    </tr>";


    while($row = mysqli_fetch_array($result))
    {
    echo "<tr>";
    echo "<td>" . $row['data_time'] . "</td>";
    echo "<td>" . $row['temperatura'] . " °C" . "</td>";
    echo "</tr>";
    }
    echo "</table>";


    mysqli_close($con);
    ?>

  8. #8
    allora ci siamo quasi.
    ho cambiato il codice php
    codice:
    <?php$username = "root";
    $password = "password";
    $hostname = "localhost"; 
    
    
    //connection to the database
    $dbhandle = mysql_connect($hostname, $username, $password) 
     or die("Unable to connect to MySQL");
    echo "Connected to MySQL<br>";
    
    
    //select a database to work with
    $selected = mysql_select_db("domotica",$dbhandle) 
      or die("Could not select examples");
    
    
    //execute the SQL query and return records
    $result = mysql_query("SELECT MAX(temperatura) AS maxTemp,TIMESTAMP(data_time) AS data_ris FROM sensore_esterno GROUP BY data_ris");
    
    
    
    
    //SELECT temperatura,data_time FROM sensore_esterno ORDER BY temperatura + 0 DESC
    
    
    //fetch tha data from the database 
    while ($row = mysql_fetch_array($result)) {
       echo "data:".$row{'data_ris'}."temperatura:".$row{'maxTemp'}."<br>";
    }
    //close the connection
    mysql_close($dbhandle);
    ?>

    la parte dove va a prelevare i valori è questa

    codice:
    SELECT MAX(temperatura) AS maxTemp,TIMESTAMP(data_time) AS data_ris FROM sensore_esterno GROUP BY data_ris
    solo che mi stampa questo
    Connected to MySQL
    data:2015-11-28 13:28:15 temperatura:9.312
    data:2015-11-28 13:29:10 temperatura:33
    data:2015-11-28 13:29:46 temperatura:12

    il problema è che quel 9.312 dovrebbe essere alla fine perchè è una lettura più piccola del giorno.
    Quindi presuno che sia un problema di decimali.

    Avete suggerimenti

  9. #9
    ma tu vuoi una classifica delle temperature dalla più grande alla più piccola o la temperatura massima del giorno?

  10. #10
    la temperatura massima del giorno

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.