Skip to content
Snippets Groups Projects
Select Git revision
  • 0ea1efddca04b5ecf00850d7e3be0c33ef2c7cd1
  • main default protected
2 results

Auteur.php

Blame
  • Auteur.php 1.84 KiB
    <?php
    require_once "Objet.php";
    
    class Auteur extends Objet
    {
    	// attributs
        protected ?int $numAuteur;
        protected ?string $nom;
        protected ?string $prenom;
        protected ?int $anneeNaissance;
    
        // getter
    
        public function __construct($nu = NULL, $n = NULL, $p = NULL, $a = NULL)
        {
            if (!is_null($nu)) {
                $this->numAuteur = $nu;
                $this->nom = $n;
                $this->prenom = $p;
                $this->anneeNaissance = $a;
            }
        }
    
        public static function getAllAuteurs()
        {
            // écriture de la requête
            $requete = "SELECT * FROM Auteur;";
            // envoi de la requête et stockage de la réponse
            $resultat = Database::pdo()->query($requete);
            // traitement de la réponse
            $resultat->setFetchmode(PDO::FETCH_CLASS, 'Auteur');
            $tableau = $resultat->fetchAll();
            return $tableau;
        }
    
        public static function getAuteurByNum($numAuteur)
        {
            // écriture de la requête
            $requetePreparee = "SELECT * FROM Auteur WHERE numAuteur = :num_tag;";
            $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
                $response = $req_prep->fetch();
                // retour
    
            } catch (PDOException $e) {
                echo $e->getMessage();
            }
            return $response;
        }
    
        // méthode static qui retourne un auteur identifié par son numAuteur
    
        public function afficher()
        {
            return "<p>auteur $this->prenom $this->nom, né(e) en $this->anneeNaissance </p>";
        }
    }