<?php

define('DB_HOST' 'localhost');        // l'adresse de mysql
define('DB_NAME' 'ma_BDD');           // le nom de la base de donnée
define('DB_USER' 'XXXX');             // votre login de la base de donnée
define('DB_PASS' 'YYYYYYYYY');        // votre mot de passe


try {    
    // Connexion à la base de donnée
    $PDO new PDO('mysql:host='.DB_HOST.';dbname='.DB_NAMEDB_USERDB_PASSarray(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    $PDO->setAttribute(PDO::ATTR_ERRMODEPDO::ERRMODE_WARNING);    
    
    $limit 6// Nombre d'heure (intervalle des moyennes)
    
    // la requête SQL sur la table nommé data :    
    // on formate la date (on ne garde que l'heure) dans une colonne moyheure, 
    // on arrondie au dixième la moyenne de temp dans une colonne TempM et de huùi dans une colonne HumiM
    // à partir de maintenant dans la limite de 6 heure (variable $limit) 
    // grouper par mois jour heure en ordre décroissant
    $sql 'SELECT DATE_FORMAT(date_heure,"%d-%m-%Y %Hh") as moyheure, ROUND(AVG(temp),1) as TempM, ROUND(AVG(humi),1) as HumiM FROM data 
             WHERE date_heure < NOW() AND date_heure > DATE_SUB(NOW(), INTERVAL '.$limit.' HOUR) 
             GROUP BY MONTH(date_heure), DAY(date_heure), HOUR(date_heure) DESC' ;
    
    // On interroge la base de donnée
    $result $PDO->query($sql);

    // récupère toutes les lignes dans le tableau $rows, par défaut PDO::FETCH_BOTH est utilisé 
    $rows $result->fetchAll();

// sinon, on récupère l'erreur
catch(PDOException $e) {

    // on affiche l'erreur
    echo 'Échec de la connexion : ' $e->getMessage();
}

// on ferme la connexion à la base de donnée
$PDO null

// pour chaque ligne du tableau $rows on affiche les datas
foreach($rows as $row) {
    Echo 'Date et heure : '.$row["moyheure"].' Température : '.$row["TempM"].' °C Humidité : '.$row["HumiM"].' % <br/>';


?>