From 90b6185c0ab631249052e5400de097bf00299bb5 Mon Sep 17 00:00:00 2001 From: Kevin Monteiro Date: Sun, 7 Jan 2024 16:45:44 +0100 Subject: [PATCH] =?UTF-8?q?Essai=20de=20r=C3=A9solution=20de=20bug=20:=20B?= =?UTF-8?q?ug=20affichage=20du=20graphique,=20bug=20/activity=20:=20valeur?= =?UTF-8?q?=20NULL,=20pas=20trouver=20comment=20ajouter=20un=20exercice=20?= =?UTF-8?q?...?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Sources/src/app/controller/AthleteController.php | 4 ++-- Sources/src/app/controller/UserController.php | 2 ++ Sources/src/data/core/database/ActivityEntity.php | 2 +- Sources/src/data/core/database/ActivityMapper.php | 2 +- Sources/src/data/core/database/AthleteGateway.php | 11 +++++++++-- 5 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Sources/src/app/controller/AthleteController.php b/Sources/src/app/controller/AthleteController.php index 0a61b7a6..f1660146 100644 --- a/Sources/src/app/controller/AthleteController.php +++ b/Sources/src/app/controller/AthleteController.php @@ -201,8 +201,8 @@ class AthleteController extends BaseController $listActivity = []; foreach ($activityGateway as $entity) { $activity = $map->activityEntityToModel($entity); - $listActivity[] = ['idactivity' => number_format($activity->getIdActivity()), 'type' => $activity->getType(), - 'date' => $activity->getDate()->format("D j F Y"), 'heureDebut' => $activity->getHeureDebut()->format("H\h i"), 'heureFin' => $activity->getHeureFin()->format("H\h i"), + $listActivity[] = ['idactivite' => number_format($activity->getIdActivity()), 'type' => $activity->getType(), + 'date' => $activity->getDate()->format("D j F Y"), 'heurededebut' => $activity->getHeureDebut()->format("H\h i"), 'heuredefin' => $activity->getHeureFin()->format("H\h i"), 'effortRessenti' => $activity->getEffortRessenti(), 'variabilite' => $activity->getVariability(), 'variance' => $activity->getVariance(), 'ecartType' => $activity->getStandardDeviation(), 'moyenne' => $activity->getAverage(), 'max' => $activity->getMaximum(), 'min' => $activity->getMinimum(), 'temperature' => $activity->getAvrTemperature()]; diff --git a/Sources/src/app/controller/UserController.php b/Sources/src/app/controller/UserController.php index ca403f69..c6301d5e 100644 --- a/Sources/src/app/controller/UserController.php +++ b/Sources/src/app/controller/UserController.php @@ -5,6 +5,7 @@ namespace App\Controller; use App\Container; use App\Router\Request\IRequest; use App\Router\Response\Response; +use Database\ActivityMapper; use Shared\Attributes\Route; use Twig\Environment; use Data\Core\Preferences; @@ -49,6 +50,7 @@ class UserController extends BaseController $activity = $athleteGateway->getListActivity('1');//$currentUser->getId() // Log::dd($activity); $chart = []; + // PROBLEME AVEC LE GRAPHIQUE Soucis avec le graphique : Undefined array key "nbactivite" ligne 57 foreach($activity as $act){ $chart[] = ['act' => $act['nbactivite'], 'mois' => date('m', $act['mois'])]; } diff --git a/Sources/src/data/core/database/ActivityEntity.php b/Sources/src/data/core/database/ActivityEntity.php index 7f14956e..be31539a 100644 --- a/Sources/src/data/core/database/ActivityEntity.php +++ b/Sources/src/data/core/database/ActivityEntity.php @@ -18,7 +18,7 @@ class ActivityEntity { private $temperatureMoyenne; // Getters - public function getIdActivity() { + public function getIdActivity() :int { return $this->idActivity; } diff --git a/Sources/src/data/core/database/ActivityMapper.php b/Sources/src/data/core/database/ActivityMapper.php index 296c03c8..adad8141 100644 --- a/Sources/src/data/core/database/ActivityMapper.php +++ b/Sources/src/data/core/database/ActivityMapper.php @@ -73,7 +73,7 @@ class ActivityMapper { /** * @throws \Exception */ - public function ActivityEntityToModel(ActivityEntity $activiteEntity):Activity { + public function activityEntityToModel(ActivityEntity $activiteEntity):Activity { $date = new DateTime($activiteEntity->getDate()); $heureDebut = new \DateTime($activiteEntity->getHeureDebut()); $heureFin = new \DateTime($activiteEntity->getHeureFin()); diff --git a/Sources/src/data/core/database/AthleteGateway.php b/Sources/src/data/core/database/AthleteGateway.php index a6677c89..8b2d154d 100644 --- a/Sources/src/data/core/database/AthleteGateway.php +++ b/Sources/src/data/core/database/AthleteGateway.php @@ -89,12 +89,19 @@ class AthleteGateway { public function getListActivity(int $idAthlete): array { - $query = "SELECT count(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois + /*$query = "SELECT count(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois FROM Athlete at, Activite ac WHERE at.idAthlete = :idAthlete AND ac.date > CURRENT_DATE - INTERVAL '1 YEAR' AND ac.athleteId = at.idAthlete - GROUP BY mois"; + GROUP BY mois";*/ + + $query = "SELECT COUNT(ac.idActivite) AS nbActivite, EXTRACT(MONTH FROM ac.date) AS mois + FROM Athlete at + JOIN Activite ac ON ac.athleteId = at.idAthlete + WHERE at.idAthlete = :idAthlete + AND ac.date > CURRENT_DATE - INTERVAL 1 YEAR + GROUP BY mois"; $params = [ ':idAthlete' => $idAthlete,