IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de donn�es Discussion :

Requete moyennes des valeurs sur une journ�e


Sujet :

PHP & Base de donn�es

  1. #1
    Membre averti
    Homme Profil pro
    Lyc�en
    Inscrit en
    Octobre 2023
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Octobre 2023
    Messages : 37
    Par d�faut Requete moyennes des valeurs sur une journ�e
    Bonjour,
    Dans le cadre d'une station m�t�o je souhaite afficher un graphique avec les moyennes par heure des temp�ratures et taux d'humidit� sur la journ�e en cours soit de 00:00 � maintenant :

    Collecte des donn�es :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    // Collecte données THP
    $result = getAllReadingsGraphics("SendorDataTHP");
    while ($data = $result->fetch_assoc()){
      $sensor_dataTHP[] = $data;
    }
    $readings_timeTHP = array_column($sensor_dataTHP, 'reading_time');
    J'ai la fonction suivante :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     function getAllReadingsGraphics($BDD) {
        global $servername, $username, $password, $dbname;
     
        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) {
          die("Connection failed: " . $conn->connect_error);
        }
          if($BDD == "SendorDataTHP") {
           $sql = "SELECT (reading_time,'%Y-%m-%d %H:00:00') AS heure, AVG(TEMP) AS moyenne_TEMP, AVG(HUM) AS moyenne_HUM FROM SensorDataTHP WHERE DATE(reading_time) = CURDATE() GROUP BY DATE_FORMAT(reading_time,'%Y-%m-%d %H:00:00')";}
     
            elseif($BDD == "SendorDataQA") {
           // $sql = "SELECT id, sensor, pm25, pm10, reading_time FROM SensorDataQA order by reading_time desc limit " . $limit;}
     
            if ($result = $conn->query($sql)) {
              return $result;
            }
            else {
              return false;
            }
        $conn->close(); 
      }
    }
    J'ai le message suivant concernant la ligne
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    while ($data = $result->fetch_assoc())
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    Fatal error: Uncaught Error: Call to a member function fetch_assoc() on null in /storage/ssd4/987/21478987/public_html/esp-charts.php:29 Stack trace: #0 {main} thrown in /storage/ssd4/987/21478987/public_html/esp-charts.php on line 29
    Je pr�cise que je d�bute .

  2. #2
    Mod�rateur
    Avatar de grunk
    Homme Profil pro
    Lead d�v - Architecte
    Inscrit en
    Ao�t 2003
    Messages
    6 693
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France, C�te d'Or (Bourgogne)

    Informations professionnelles :
    Activit� : Lead d�v - Architecte
    Secteur : Industrie

    Informations forums :
    Inscription : Ao�t 2003
    Messages : 6 693
    Par d�faut
    L'erreur veux dire que tu essai d'appeller fetch_assoc() sur un objet qui est nul.
    Dans ton cas ca veux dire que $result, ce qui veux dire que tu as un probl�me dans ta fonction getAllReadingsGraphics ui ne renvois pas ce que tu attends.
    Pry Framework php5 | N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre averti
    Homme Profil pro
    Lyc�en
    Inscrit en
    Octobre 2023
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Octobre 2023
    Messages : 37
    Par d�faut
    Bonjour Grunk,
    Je suppose que cela vient de la construction de ma requ�te


    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $sql = "SELECT (reading_time,'%Y-%m-%d %H:00:00') AS heure, AVG(TEMP) AS moyenne_TEMP, AVG(HUM) AS moyenne_HUM FROM SensorDataTHP WHERE DATE(reading_time) = CURDATE() GROUP BY DATE_FORMAT(reading_time,'%Y-%m-%d %H:00:00')";}
    Je souhaite avoir en retour un tableau avec les valeurs moyennes par heure sur la journ�e courante avec :
    heure, moyenne_TEMP, moyenne_HUM

  4. #4
    Membre chevronn�
    Homme Profil pro
    Urbaniste
    Inscrit en
    Ao�t 2023
    Messages
    387
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activit� : Urbaniste

    Informations forums :
    Inscription : Ao�t 2023
    Messages : 387
    Par d�faut
    Bonjour,

    Prenez garde � indenter votre code correctement.

    Peut �tre que php fournit un CLI d'auto formatage � la sauvegarde � configurer dans votre IDE,
    je ne sais pas.

    Mais tr�s clairement l� vous allez vous y perdre toute seule.

    Cela vous permettra aussi d'�viter d'oublier de fermer
    les connections de mani�re inappropri�e.

    Apr�s il y a toute une th�orie sur la mani�re
    de g�rer les connexions, mais cela d�pend
    de la mani�re dont votre serveur
    ex�cute les requ�tes http,
    je n'ai pas tellement envie de rentrer la dedans
    https://www.php.net/manual/en/features.persistent-connections.php

    Une bonne indentation devrait permettre de pr�venir des probl�mes.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    <?php
    function getAllReadingsGraphics($BDD) {
    	global $servername, $username, $password, $dbname;
     
    	$conn = new mysqli($servername, $username, $password, $dbname);
     
    	if ($conn->connect_error) {
    		// die("Connection failed: " . $conn->connect_error);
                    error_log("Connection failed: " . $conn->connect_error, 0);
                    return false;
    	}
     
    	if($BDD == "SendorDataTHP") {
    		$sql = "SELECT 
    				(reading_time,'%Y-%m-%d %H:00:00') AS heure, 
    				AVG(TEMP) AS moyenne_TEMP, 
    				AVG(HUM) AS moyenne_HUM 
    			FROM SensorDataTHP 
    			WHERE DATE(reading_time) = CURDATE() 
    			GROUP BY DATE_FORMAT(reading_time,'%Y-%m-%d %H:00:00')
    		";
    	}elseif($BDD == "SendorDataQA") {
    		// $sql = "SELECT id, sensor, pm25, pm10, reading_time FROM SensorDataQA order by reading_time desc limit " . $limit;}
     
    	}
     
    	$result = $conn->query($sql);
    	$conn->close(); 
    	return $result;
    }
    Finalement, vous pourriez prendre avantage de fetch_all tel que

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    $readings_timeTHP = [];
     
    $result = getAllReadingsGraphics("SendorDataTHP");
    if($result) {
        $rows = $result->fetch_all(MYSQLI_ASSOC);
        $readings_timeTHP = array_column($rows, 'reading_time');
    }
    Des suggestions.

    Bonne journ�e.

  5. #5
    Membre averti
    Homme Profil pro
    Lyc�en
    Inscrit en
    Octobre 2023
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Octobre 2023
    Messages : 37
    Par d�faut
    Citation Envoy� par unanonyme Voir le message
    Une bonne indentation devrait permettre de pr�venir des probl�mes.
    Effectivement il n'y a pas photo c'est beaucoup plus clair donc j'ai pris mon temps pour comprendre la proposition surtout que je ne suis pas tr�s famili� de :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    // Collecte données THP
    $readings_timeTHP = [];
    $result = getAllReadingsGraphics("SendorDataTHP");
    if($result) {
      $rows = $result->fetch_all(MYSQLI_ASSOC);
      $readings_timeTHP = array_column($rows, 'reading_time');
    }
    Ensuite pour reprendre les valeurs dans le graphique j'ai essay� comme cela

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    $TEMP = json_encode(array_reverse(array_column($rows, 'moyenneTEMP')), JSON_NUMERIC_CHECK);
    $HUM = json_encode(array_reverse(array_column($rows, 'moyenne_HUM')), JSON_NUMERIC_CHECK);
    mais avec une erreur :
    Warning: Undefined variable $rows in /storage/ssd4/987/21478987/public_html/esp-charts.php on line 56

    Fatal error: Uncaught TypeError: array_column(): Argument #1 ($array) must be of type array, null given in /storage/ssd4/987/21478987/public_html/esp-charts.php:56 Stack trace: #0 /storage/ssd4/987/21478987/public_html/esp-charts.php(56): array_column() #1 {main} thrown in /storage/ssd4/987/21478987/public_html/esp-charts.php on line 56
    la ligne 56 �tant :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    $TEMP = json_encode(array_reverse(array_column($rows, 'moyenneTEMP')), JSON_NUMERIC_CHECK);

  6. #6
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par d�faut
    Bonjour,

    Corrigez moi si je me trompes mais faites attention � l'accolade fermante, vous l'avez comment� � la fin :
    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    elseif($BDD == "SendorDataQA") {
           // $sql = "SELECT id, sensor, pm25, pm10, reading_time FROM SensorDataQA order by reading_time desc limit " . $limit;}

    Ceci dit que la requ�te est ex�cut�e seulement lorsque le nom de la table est SendorDataQA, vu que if ($result = $conn->query($sql)) est � l'int�rieur de ce dernier elseif non ?

  7. #7
    Membre averti
    Homme Profil pro
    Lyc�en
    Inscrit en
    Octobre 2023
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Octobre 2023
    Messages : 37
    Par d�faut
    Citation Envoy� par Toufik83 Voir le message
    Ceci dit que la requ�te est ex�cut�e seulement lorsque le nom de la table est SendorDataQA, vu que if ($result = $conn->query($sql)) est � l'int�rieur de ce dernier elseif non ?
    Bien vu cette l� je l'avais rat� donc voici la version sans l'erreur b�te :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     function getAllReadingsGraphics($BDD) {
        global $servername, $username, $password, $dbname;
     
        // Create connection
        $conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) {
          die("Connection failed: " . $conn->connect_error);
        }
          if($BDD == "SendorDataTHP") {
            $sql = "SELECT 
    				(reading_time,'%Y-%m-%d %H:00:00') AS heure, 
    				AVG(TEMP) AS moyenne_TEMP, 
    				AVG(HUM) AS moyenne_HUM 
    			FROM SensorDataTHP 
    			WHERE DATE(reading_time) = CURDATE() 
    			GROUP BY DATE_FORMAT(reading_time,'%Y-%m-%d %H:00:00')
    		";}
     
            if ($result = $conn->query($sql)) {
              return $result;
            }
            else {
              return false;
            }
        $conn->close(); 
      }

    L'erreur est d�sormais :
    Fatal error: Uncaught mysqli_sql_exception: Operand should contain 1 column(s) in /storage/ssd4/987/21478987/public_html/esp-database.php:87 Stack trace: #0 /storage/ssd4/987/21478987/public_html/esp-database.php(87): mysqli->query() #1 /storage/ssd4/987/21478987/public_html/esp-charts.php(29): getAllReadingsGraphics() #2 {main} thrown in /storage/ssd4/987/21478987/public_html/esp-database.php on line 87

    Au cas o� la BDD :
    Code sql : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    CREATE TABLE `SensorDataTHP` (
      `id` int(6) UNSIGNED NOT NULL,
      `sensor` varchar(30) NOT NULL,
      `TEMP` decimal(6,2) DEFAULT NULL,
      `HUM` decimal(6,2) DEFAULT NULL,
      `PRES` decimal(6,2) DEFAULT NULL,
      `TEMPR` decimal(6,2) DEFAULT NULL,
      `reading_time` timestamp NOT NULL DEFAULT current_timestamp() ON UPDATE current_timestamp()
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
     
    --
    -- Déchargement des données de la table `SensorDataTHP`
    --
     
    INSERT INTO `SensorDataTHP` (`id`, `sensor`, `TEMP`, `HUM`, `PRES`, `TEMPR`, `reading_time`) VALUES
    (3, 'THP', 17.24, 66.41, 1014.15, 16.89, '2023-12-23 15:16:48'),
    (4, 'THP', 17.28, 66.16, 1014.08, 16.89, '2023-12-23 15:18:51'),
    (5, 'THP', 17.38, 65.99, 1014.07, 16.99, '2023-12-23 15:21:51'),
    (6, 'THP', 17.23, 65.97, 1014.03, 16.99, '2023-12-23 15:22:21'),
    (7, 'THP', 17.41, 65.68, 1014.05, 16.99, '2023-12-23 15:24:26'),
    (8, 'THP', 17.48, 65.24, 1014.11, 17.09, '2023-12-23 15:26:28'),
    (9, 'THP', 17.50, 65.04, 1014.11, 17.08, '2023-12-23 15:29:29'),
    (10, 'THP', 25.00, 12.00, 15.00, 2.00, '2023-12-23 15:31:24'),
    (11, 'THP', 17.52, 65.03, 1014.15, 17.08, '2023-12-23 15:31:31'),
    (12, 'THP', 17.54, 64.83, 1014.19, 17.08, '2023-12-23 15:34:34');


    Pour info j'ai bien des valeurs le 28/12 je n'ai extrait que les premiers enregistrements.

  8. #8
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par d�faut
    Tu as oubli� la fonction date_format au d�but de (reading_time,'%Y-%m-%d %H:00:00') AS heure, la correction: date_format(reading_time,'%Y-%m-%d %H:00:00') AS heure

  9. #9
    Membre averti
    Homme Profil pro
    Lyc�en
    Inscrit en
    Octobre 2023
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Octobre 2023
    Messages : 37
    Par d�faut
    J'ai bien avanc� gr�ce � vos conseils, j'ai encore un soucis je n'ai plus d'erreur mais pas d'affichage de donn�es :
    Code html : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    <?php
    // Collecte données THP
    $readings_timeTHP = [];
    $result = getAllReadingsGraphics("SendorDataTHP");
    if($result) {
      $rows = $result->fetch_all(MYSQLI_ASSOC);
      }
      
     
    $TEMP = json_encode(array_reverse(array_column($rows, 'moyenne_TEMP')), JSON_NUMERIC_CHECK);
    $reading_timeTHP = json_encode(array_reverse(array_column($rows,'heure')), JSON_NUMERIC_CHECK);
    var_dump($TEMP);
    var_dump($reading_timeTHP);
     
     
    $result->free();
     
    ?>
     
    <!DOCTYPE html>
    <html>
    <head>
        <meta name="viewport" content="width=device-width, initial-scale=1">    
     
            <meta http-equiv="refresh" content="30">
            <link rel="stylesheet" type="text/css" href="esp-style.css">
            <meta name="viewport" content="width=device-width, initial-scale=1">
            <script src="https://code.highcharts.com/highcharts.js"></script>
        </head>
        <header class="header">
            <h1>📊 ESP Weather Station GRAPHICS</h1>
            <form method="get">
                <input type="number" name="readingsCount" min="20" placeholder="Number of readings (<?php echo $readings_count; ?>)">
                <input type="submit" value="UPDATE">
            </form>
        </header>
        <a href="esp-weather-station.php" class="favorite styled"  type="button">DASHBOARD</a>
        <a href="esp-data.php" class="favorite styled"  type="button">DATA</a><br><br>
     
     
      <style>
        body {
          min-width: 310px;
            max-width: 1280px;
            height: 500px;
          margin: 0 auto;
        }
        h2 {
          font-family: Arial;
          font-size: 2.5rem;
          text-align: center;
        }
      </style>
      <body>
     
     
        <div id="chart-temperature" class="container"></div>
     
    <script>
     
    var TEMP = <?php echo $TEMP; ?>;
     
    var reading_time = <?php echo $reading_timeTHP; ?>;
     
    //---------------TEMPERATURE-------------------
    var chartT = new Highcharts.Chart({
      chart:{ renderTo : 'chart-temperature' },
      title: { text: ' Temperature' },
      series: [{
        name : 'value',
        showInLegend: false,
        color: '#606060',
        data: TEMP
      }
      ],
      plotOptions: {
        line: { animation: false,
          dataLabels: { enabled: true }
        },
        series: { color: '#059e8a' }
      },
      xAxis: { 
        type: 'datetime',
        categories: reading_time
      },
      yAxis: {
        title: { text: 'Temperature (Celsius)' }
       
      },
      credits: { enabled: false }
    });
     
     
    </script>
    </body>
    </html>

    J'ai ajout� ceci :
    var_dump($TEMP);
    var_dump($reading_timeTHP);

    Et j'ai le r�sultat suivant :
    string(199)
    "[10.8535,10.77,10.95,11.099583,11.131818,11.323182,11.800714,12.438333,12.884783,12.155556,11.885833,11.475,10.837917,10.615,10.447857,10.414583,10.516,10.652174,10.970952,11.128636,11.051,11.182609]"
    string(485)
    "["2023-12-28 21:00:00","2023-12-28 20:00:00","2023-12-28 19:00:00","2023-12-28 18:00:00","2023-12-28 17:00:00","2023-12-28 16:00:00","2023-12-28 15:00:00","2023-12-28 14:00:00","2023-12-28 13:00:00","2023-12-28 12:00:00","2023-12-28 11:00:00","2023-12-28 10:00:00","2023-12-28 09:00:00","2023-12-28 08:00:00","2023-12-28 07:00:00","2023-12-28 06:00:00","2023-12-28 05:00:00","2023-12-28 04:00:00","2023-12-28 03:00:00","2023-12-28 02:00:00","2023-12-28 01:00:00","2023-12-28 00:00:00"]"
    Donc j'ai bien des donn�es est-ce un pb de format???

  10. #10
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par d�faut
    Bonjour,

    Tu veux dire que les donn�es du graphique ne sont pas affich�es? car je viens de tester ton code, Apart l'erreur de la variable ind�finie $readings_count; que j'ai corrig�, le graphe s'affiche correctement sans soucis.

  11. #11
    Membre averti
    Homme Profil pro
    Lyc�en
    Inscrit en
    Octobre 2023
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Octobre 2023
    Messages : 37
    Par d�faut
    Citation Envoy� par Toufik83 Voir le message
    Bonjour,

    Tu veux dire que les donn�es du graphique ne sont pas affich�es? car je viens de tester ton code, Apart l'erreur de la variable ind�finie $readings_count; que j'ai corrig�, le graphe s'affiche correctement sans soucis.
    Je viens de faire la correction et effectivement les donn�es s'affichent correctement j'ai encore quelques questions,
    Pour inverser l'ordre des donn�s car pour le moment je commence par la derni�re heure enregistr�e et ensuite je remonte le temps
    Comment arrondir les nombres � 1 chiffre apr�s la virgule.

    Mercu

  12. #12
    Expert confirm� Avatar de Toufik83
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 518
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 42
    Localisation : Maroc

    Informations professionnelles :
    Activit� : D�veloppeur informatique
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 518
    Par d�faut
    Bonjour,

    Pour inverser l'ordre il faudrait supprimer la fonction array_reverse, cette fonction permet d'inverser les valeurs d'un tableau...

    Et pour arrondir les nombres � deux chiffres apr�s la virgule il y'a deux possibilit�s, la plus simple c'est en SQL en utilisant la fonction round
    Code sql : S�lectionner tout - Visualiser dans une fen�tre � part
    round(AVG(TEMP),2) AS moyenne_TEMP

    Ou bien en PHP :
    Code php : S�lectionner tout - Visualiser dans une fen�tre � part
    $TEMP = json_encode(array_map(function($tmp){return round($tmp,2);},array_column($rows, 'moyenne_TEMP')),JSON_NUMERIC_CHECK);

  13. #13
    Membre averti
    Homme Profil pro
    Lyc�en
    Inscrit en
    Octobre 2023
    Messages
    37
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 19
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activit� : Lyc�en

    Informations forums :
    Inscription : Octobre 2023
    Messages : 37
    Par d�faut
    J'ai appliqu� les 2 correctifs et le r�sultat est tr�s concluant.
    Un grand merci
    Je vais maintenant m'attaquer � ajouter 2 lignes avec le mini et le max de la journ�e.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Moyenne des valeurs d'une ArrayList
    Par Moux88 dans le forum Collection et Stream
    R�ponses: 5
    Dernier message: 28/06/2016, 12h31
  2. [XL-2013] Reporter des valeurs sur une colonne, except�e une
    Par carte_blanche dans le forum Macros et VBA Excel
    R�ponses: 9
    Dernier message: 02/04/2015, 07h53
  3. R�ponses: 2
    Dernier message: 12/10/2012, 08h49
  4. [MySQL] R�cup�ration des valeurs sur une recherche multitable
    Par flozza dans le forum PHP & Base de donn�es
    R�ponses: 2
    Dernier message: 09/01/2012, 17h23
  5. r�cup�rer des valeurs sur une page web
    Par houwa dans le forum Macros et VBA Excel
    R�ponses: 5
    Dernier message: 11/07/2008, 14h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo