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 97 98 99 100 101 102 103 104 105 106 107 108
| <?php
const JOUR_EN_SECONDES = 86400;
// tableaux des données lues dans la base de données
// date : secondes
// index : m³
$releves = [
[
"date" => 1644838969,
"index" => 35
],
[
"date" => 1646307769,
"index" => 46
],
[
"date" => 1647344569,
"index" => 61
],
[
"date" => 1649328169,
"index" => 101
],
];
// calcul de la consommation moyenne qui sera stockées dans le tableau $releves
$releve_precedent = NULL;
foreach ($releves as $index_tableau => $releve) {
if (isset($releve_precedent)) {
$difference_index = $releve["index"] - $releve_precedent["index"];
$difference_date = ($releve["date"] - $releve_precedent["date"]) / JOUR_EN_SECONDES;
$consommation = $difference_index / $difference_date; // résultat en m³*/*jour
// stockage du résultat du calcul
$releves[$index_tableau]["consommation"] = $consommation;
}
// stockage du relevé en cours qui sera utilisé pour le relevé suivant
$releve_precedent = $releve;
}
// affichage des résultats
$format_date = new IntlDateFormatter(
"fr-FR"
, IntlDateFormatter::FULL
, IntlDateFormatter::FULL
, "Europe/Paris"
, IntlDateFormatter::GREGORIAN
, "EE dd/MM"
);
?>
<ul>
<?php foreach ($releves as $index_tableau => $releve) {?>
<li>
<ul>
<li>
Date du relevé*:
<?php h($format_date->format($releve["date"]));?>
</li>
<li>
Index (m³)*:
<?php h(number_format($releve["index"], 2, ",", " "));?>
</li>
<?php if (isset($releve["consommation"])) {?>
<li>
Consommation depuis le relevé précédent (m³*/*jour)*:
<?php h(number_format($releve["consommation"], 2, ",", " "));?>
</li>
<?php }?>
</ul>
</li>
<?php }?>
</ul>
<?php
function h($v)
{
echo htmlspecialchars($v);
} |
Partager