Skip to content
Snippets Groups Projects
Commit 2313b3d2 authored by Sofiane Lasri's avatar Sofiane Lasri
Browse files

Conversion de la page de la liste des auteurs en la nouvelle norme.

parent e50aa969
No related branches found
No related tags found
No related merge requests found
......@@ -3,23 +3,10 @@ require_once("models/Auteur.php");
class ControleurAuteur
{
public static function lireAuteurs()
{
$titre = "les auteurs";
$tableau = Auteur::getAllAuteurs();
$tableauAffichage = array();
foreach ($tableau as $auteur) {
$numAuteur = $auteur->getNumAuteur();
$nom = $auteur->getNom();
$prenom = $auteur->getPrenom();
$lienDetails = "<a class='bouton' href=\"index.php?controller=controleurAuteur&action=lireAuteur&numAuteur=$numAuteur\"> détails </a>";
$tableauAffichage[] = "<div class='ligne'><div>Auteur $prenom $nom</div><div> $lienDetails</div></div>";
}
include("resources/views/debut.php");
include("resources/views/menu.html");
include("resources/views/lesAuteurs.php");
include("resources/views/fin.html");
$auteurs = Auteur::getAllAuteurs();
return view('auteurs.liste-auteurs', ['auteurs' => $auteurs]);
}
public static function lireAuteur()
......
<?php
function view(string $viewName, array $args): bool
function view(string $viewName, array $args = []): bool
{
$viewPathParts = explode(".", $viewName);
$viewPath = "";
......
<?php
class Auteur {
class Auteur
{
// attributs
private $numAuteur;
private $nom;
private $prenom;
private $anneeNaissance;
private int $numAuteur;
private string $nom;
private string $prenom;
private ?int $anneeNaissance;
// getter
public function getNumAuteur() {return $this->numAuteur;}
public function getNom() {return $this->nom;}
public function getPrenom() {return $this->prenom;}
public function getAnneeNaissance() {return $this->anneeNaissance;}
// setter
public function setNumAuteur($nu) {$this->numAuteur = $nu;}
public function setNom($n) {$this->nom = $n;}
public function setPrenom($p) {$this->prenom = $p;}
public function setAnneeNaissance($a) {$this->anneeNaissance = $a;}
// un constructeur
public function __construct($nu = NULL, $n = NULL, $p = NULL, $a = NULL) {
public function __construct($nu = NULL, $n = NULL, $p = NULL, $a = NULL)
{
if (!is_null($nu)) {
$this->numAuteur = $nu;
$this->nom = $n;
......@@ -29,13 +20,8 @@ class Auteur {
}
}
// une methode d'affichage.
public function afficher() {
echo "<p>auteur $this->prenom $this->nom, né(e) en $this->anneeNaissance </p>";
}
// méthode static qui retourne les auteurs en un tableau d'objets
public static function getAllAuteurs() {
public static function getAllAuteurs()
{
// écriture de la requête
$requete = "SELECT * FROM Auteur;";
// envoi de la requête et stockage de la réponse
......@@ -46,8 +32,8 @@ class Auteur {
return $tableau;
}
// méthode static qui retourne un auteur identifié par son numAuteur
public static function getAuteurByNum($numAuteur) {
public static function getAuteurByNum($numAuteur)
{
// écriture de la requête
$requetePreparee = "SELECT * FROM Auteur WHERE numAuteur = :num_tag;";
$req_prep = Database::pdo()->prepare($requetePreparee);
......@@ -67,5 +53,61 @@ class Auteur {
}
}
public function getNumAuteur()
{
return $this->numAuteur;
}
// setter
public function setNumAuteur($nu)
{
$this->numAuteur = $nu;
}
public function getNom()
{
return $this->nom;
}
public function setNom($n)
{
$this->nom = $n;
}
public function getPrenom()
{
return $this->prenom;
}
// un constructeur
public function setPrenom($p)
{
$this->prenom = $p;
}
// une methode d'affichage.
public function getAnneeNaissance()
{
return $this->anneeNaissance;
}
// méthode static qui retourne les auteurs en un tableau d'objets
public function setAnneeNaissance($a)
{
$this->anneeNaissance = $a;
}
// méthode static qui retourne un auteur identifié par son numAuteur
public function afficher()
{
echo "<p>auteur $this->prenom $this->nom, né(e) en $this->anneeNaissance </p>";
}
}
?>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Liste des auteurs</title>
<?=view('layouts.head')?>
</head>
<body class="">
<div class="container">
<h1>Liste de tous les auteurs</h1>
<p>Voici la liste de tous les auteurs</p>
<div class="d-flex flex-wrap justify-content-between">
<?php foreach ($auteurs as $auteur) { ?>
<div class="card mb-2" style="width: 18rem;">
<div class="card-body">
<h5 class="card-title"><?=$auteur->getPrenom()?> <?=$auteur->getNom()?></h5>
<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()?>">
Lire les détails
</a>
</div>
</div>
<?php } ?>
</div>
</div>
<?=view('layouts.footer')?>
</body>
</html>
\ No newline at end of file
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct" crossorigin="anonymous"></script>
\ No newline at end of file
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/css/bootstrap.min.css" integrity="sha384-xOolHFLEh07PJGoPkLv1IbcEPTNtaed2xpHsD9ESMhqIYd0nLMwNLD69Npy4HI+N" crossorigin="anonymous">
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment