From 8e64146941161c536feb31ca5594e4e9c2ed6c7d Mon Sep 17 00:00:00 2001 From: Sofiane Lasri <alasri250@gmail.com> Date: Tue, 18 Oct 2022 10:01:45 +0200 Subject: [PATCH] =?UTF-8?q?Adh=C3=A9rent=20termin=C3=A9.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- TP4/ex1/controller/ControleurAdherent.php | 11 +++++- TP4/ex1/controller/ControleurAuteur.php | 4 +- TP4/ex1/models/Adherent.php | 38 ++++++++++++++----- TP4/ex1/models/Auteur.php | 8 ++-- ...{liste-adherents.php => les-adherents.php} | 6 +-- .../resources/views/adherents/un-adherent.php | 14 +++++++ .../{liste-auteurs.php => les-auteurs.php} | 6 +-- .../{auteur-info.php => un-auteur.php} | 4 +- .../views/{layouts => components}/footer.php | 0 .../views/{layouts => components}/head.php | 0 10 files changed, 68 insertions(+), 23 deletions(-) rename TP4/ex1/resources/views/adherents/{liste-adherents.php => les-adherents.php} (83%) create mode 100644 TP4/ex1/resources/views/adherents/un-adherent.php rename TP4/ex1/resources/views/auteurs/{liste-auteurs.php => les-auteurs.php} (83%) rename TP4/ex1/resources/views/auteurs/{auteur-info.php => un-auteur.php} (78%) rename TP4/ex1/resources/views/{layouts => components}/footer.php (100%) rename TP4/ex1/resources/views/{layouts => components}/head.php (100%) diff --git a/TP4/ex1/controller/ControleurAdherent.php b/TP4/ex1/controller/ControleurAdherent.php index 1cb10da..b4900c6 100644 --- a/TP4/ex1/controller/ControleurAdherent.php +++ b/TP4/ex1/controller/ControleurAdherent.php @@ -6,6 +6,15 @@ class ControleurAdherent public static function lireAdherents() { $adherents = Adherent::getAllAdherents(); - return view('adherents.liste-adherents', ['adherents' => $adherents]); + return view('adherents.les-adherents', ['adherents' => $adherents]); + } + + public static function lireAdherent() + { + if (empty($_GET["login"])) { + die("Le paramètre login n'est pas spécifié."); + } + $adherent = Adherent::getAdherentByLogin($_GET["login"]); + return view('adherents.un-adherent', ['adherent' => $adherent]); } } \ No newline at end of file diff --git a/TP4/ex1/controller/ControleurAuteur.php b/TP4/ex1/controller/ControleurAuteur.php index 3044773..9a80bab 100644 --- a/TP4/ex1/controller/ControleurAuteur.php +++ b/TP4/ex1/controller/ControleurAuteur.php @@ -6,7 +6,7 @@ class ControleurAuteur public static function lireAuteurs() { $auteurs = Auteur::getAllAuteurs(); - return view('auteurs.liste-auteurs', ['auteurs' => $auteurs]); + return view('auteurs.les-auteurs', ['auteurs' => $auteurs]); } public static function lireAuteur() @@ -15,7 +15,7 @@ class ControleurAuteur die("Le paramètre numAuteur n'est pas spécifié."); } $auteur = Auteur::getAuteurByNum($_GET["numAuteur"]); - return view('auteurs.auteur-info', ['auteur' => $auteur]); + return view('auteurs.un-auteur', ['auteur' => $auteur]); } } diff --git a/TP4/ex1/models/Adherent.php b/TP4/ex1/models/Adherent.php index 13026fb..9b09e4c 100644 --- a/TP4/ex1/models/Adherent.php +++ b/TP4/ex1/models/Adherent.php @@ -33,15 +33,6 @@ class Adherent $this->numCategorie = $numCategorie; } - public function __set($property, $value){ - echo "test"; - if($property === "dateAdhesion"){ - $this->dateAdhesion = new DateTime($value); - }else{ - $this->$property = $value; - } - } - public static function getAllAdherents(): array { // écriture de la requête @@ -65,6 +56,35 @@ class Adherent return $tableau; } + public static function getAdherentByLogin($login) : Adherent + { + // écriture de la requête + $requetePreparee = "SELECT * FROM Adherent WHERE login = :login;"; + $req_prep = Database::pdo()->prepare($requetePreparee); + // le tableau des valeurs + $valeurs = array("login" => $login); + $response = null; + try { + // envoi de la requête + $req_prep->execute($valeurs); + // traitement de la réponse + $req_prep->setFetchmode(PDO::FETCH_ASSOC); + // récupération de l'auteur + $row = $req_prep->fetch(); + $response = new Adherent($row['login'], + $row['mdp'], + $row['nomAdherent'], + $row['prenomAdherent'], + $row['email'], + new DateTime($row['dateAdhesion']), + $row['numCategorie']); + + } catch (PDOException $e) { + echo $e->getMessage(); + } + return $response; + } + /** * @return string */ diff --git a/TP4/ex1/models/Auteur.php b/TP4/ex1/models/Auteur.php index 6a96513..c73ec32 100644 --- a/TP4/ex1/models/Auteur.php +++ b/TP4/ex1/models/Auteur.php @@ -39,18 +39,20 @@ class Auteur $req_prep = Database::pdo()->prepare($requetePreparee); // le tableau des valeurs $valeurs = array("num_tag" => $numAuteur); + $response = null; try { // envoi de la requête $req_prep->execute($valeurs); // traitement de la réponse $req_prep->setFetchmode(PDO::FETCH_CLASS, 'Auteur'); // récupération de l'auteur - $a = $req_prep->fetch(); + $response = $req_prep->fetch(); // retour - return $a; - } catch (PDEException $e) { + + } catch (PDOException $e) { echo $e->getMessage(); } + return $response; } public function getNumAuteur() diff --git a/TP4/ex1/resources/views/adherents/liste-adherents.php b/TP4/ex1/resources/views/adherents/les-adherents.php similarity index 83% rename from TP4/ex1/resources/views/adherents/liste-adherents.php rename to TP4/ex1/resources/views/adherents/les-adherents.php index cc865ea..01e941b 100644 --- a/TP4/ex1/resources/views/adherents/liste-adherents.php +++ b/TP4/ex1/resources/views/adherents/les-adherents.php @@ -2,7 +2,7 @@ <head> <meta charset="utf-8"> <title>Liste des adhérents</title> - <?=view('layouts.head')?> + <?=view('components.head')?> </head> <body class=""> <div class="container"> @@ -16,7 +16,7 @@ <p class="card-text">ID: <?=$adherent->getLogin()?><br> Date de naissance: <?=$adherent->getDateAdhesion()->format("Y-m-d")?></p> <a class="btn btn-primary" - href="index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=<?=$adherent->getLogin()?>"> + href="index.php?action=lireAdherent&login=<?=$adherent->getLogin()?>"> Lire les détails </a> </div> @@ -24,6 +24,6 @@ <?php } ?> </div> </div> -<?=view('layouts.footer')?> +<?=view('components.footer')?> </body> </html> \ No newline at end of file diff --git a/TP4/ex1/resources/views/adherents/un-adherent.php b/TP4/ex1/resources/views/adherents/un-adherent.php new file mode 100644 index 0000000..387bdcc --- /dev/null +++ b/TP4/ex1/resources/views/adherents/un-adherent.php @@ -0,0 +1,14 @@ +<html lang="fr"> +<head> + <meta charset="utf-8"> + <title>Info de l'adhérent</title> + <?=view('components.head')?> +</head> +<body class=""> +<div class="container"> + <h1>Information de l'adhérent</h1> + <?=$adherent->afficher()?> +</div> +<?=view('components.footer')?> +</body> +</html><?php \ No newline at end of file diff --git a/TP4/ex1/resources/views/auteurs/liste-auteurs.php b/TP4/ex1/resources/views/auteurs/les-auteurs.php similarity index 83% rename from TP4/ex1/resources/views/auteurs/liste-auteurs.php rename to TP4/ex1/resources/views/auteurs/les-auteurs.php index a756b37..d9ad923 100644 --- a/TP4/ex1/resources/views/auteurs/liste-auteurs.php +++ b/TP4/ex1/resources/views/auteurs/les-auteurs.php @@ -2,7 +2,7 @@ <head> <meta charset="utf-8"> <title>Liste des auteurs</title> - <?=view('layouts.head')?> + <?=view('components.head')?> </head> <body class=""> <div class="container"> @@ -16,7 +16,7 @@ <p class="card-text">ID: <?=$auteur->getNumAuteur()?><br> Date de naissance: <?=$auteur->getAnneeNaissance()?></p> <a class="btn btn-primary" - href="index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=<?=$auteur->getNumAuteur()?>"> + href="index.php?action=lireAuteur&numAuteur=<?=$auteur->getNumAuteur()?>"> Lire les détails </a> </div> @@ -24,6 +24,6 @@ <?php } ?> </div> </div> - <?=view('layouts.footer')?> + <?=view('components.footer')?> </body> </html> \ No newline at end of file diff --git a/TP4/ex1/resources/views/auteurs/auteur-info.php b/TP4/ex1/resources/views/auteurs/un-auteur.php similarity index 78% rename from TP4/ex1/resources/views/auteurs/auteur-info.php rename to TP4/ex1/resources/views/auteurs/un-auteur.php index b8357ea..b8ac9ab 100644 --- a/TP4/ex1/resources/views/auteurs/auteur-info.php +++ b/TP4/ex1/resources/views/auteurs/un-auteur.php @@ -2,13 +2,13 @@ <head> <meta charset="utf-8"> <title>Info de l'auteur</title> - <?=view('layouts.head')?> + <?=view('components.head')?> </head> <body class=""> <div class="container"> <h1>Information de l'auteur</h1> <?=$auteur->afficher()?> </div> -<?=view('layouts.footer')?> +<?=view('components.footer')?> </body> </html><?php diff --git a/TP4/ex1/resources/views/layouts/footer.php b/TP4/ex1/resources/views/components/footer.php similarity index 100% rename from TP4/ex1/resources/views/layouts/footer.php rename to TP4/ex1/resources/views/components/footer.php diff --git a/TP4/ex1/resources/views/layouts/head.php b/TP4/ex1/resources/views/components/head.php similarity index 100% rename from TP4/ex1/resources/views/layouts/head.php rename to TP4/ex1/resources/views/components/head.php -- GitLab