Bonjour à tous,
Je m'en remets une nouvelle fois à vos connaissances pour ce sujet que je n'arrive pas à résoudre.
Contexte :
- Table de la Base de données SQL : "parc"
- Plusieurs type de matériels enregistré colonne "TYPE"
- Une date de Première mise en circulation sous la forme DateTime "0000-00-00"
- Une date référence qui évolue sur les 7 dernières années
Objectifs :
Je souhaiterai calculer l'évolution de la moyenne d'âge des matériels sur les 7 dernières années par Type de matériel.
Le code que j'ai édité :
Résultat de la requê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 <?php for ($k = 0; $k <=6; $k++) { $dateRecherche = new DateTime($date_fin); // Date de recherche $dateRecherche->format('Y-m-d'); // Mettre la date au format $annee=$dateRecherche->format('Y'); // Extraire l'année $an=$annee-$k; // On extrait une année pour la référence du tableau $tabKeyAn[$an]=$an; // On va soustraire 1 an à la date $dateRecherche->sub(new DateInterval('P'.$k.'Y')); $dateSelect=$dateRecherche->format('Y-m-d'); $extractAgeVehicule = $bdd->query("SELECT TYPE, AVG(DATEDIFF(".$dateSelect.",PREMIERE_CIRCULATION)) AS age_moyen FROM `parc` WHERE SESSION_UTILISATEUR='".$_SESSION['session_parc']."' AND PREMIERE_CIRCULATION<='".$dateSelect."' AND (DATE_DECLASSEMENT>='".$dateSelect."' OR DATE_DECLASSEMENT='0000-00-00') GROUP BY TYPE"); while ($moyenneAgeExtraitParAn = $extractAgeVehicule->fetch()){ $type=$moyenneAgeExtraitParAn['TYPE']; $moyenneAge[$an][$type]=$moyenneAgeExtraitParAn['age_moyen']; } } var_dump($moyenneAge); ?>
array(7) { [2018]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2017]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2016]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2015]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2014]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2013]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } [2012]=> array(9) { ["BERLINE"]=> NULL ["DIVERS"]=> NULL ["FGON"]=> NULL ["FGTTE"]=> NULL ["P.L."]=> NULL ["SCOOTER"]=> NULL ["SPECIAL"]=> NULL ["TONDEUSE"]=> NULL ["VELO"]=> NULL } }
Auriez vous une solution ?
Partager