prepare('SELECT * FROM Medecin WHERE Id = :id'); $req->execute(['id' => $id]); return StaticRepo::delNumeric( $req->fetch(), true ); } public static function add($civilite,$prenom,$nom){ if(!StaticRepo::checkParam($civilite,'Civilite') && !StaticRepo::checkParam($prenom,'String45') && !StaticRepo::checkParam($nom,'String45')) return false; $req = StaticRepo::getConnexion()->prepare('INSERT INTO Medecin VALUES (DEFAULT,:civilite,:prenom,:nom)'); $result = $req->execute(['civilite' => $civilite, 'nom' => $nom, 'prenom' => $prenom ]); //PDO renvoie un ID sous forme de char, on transtype $id = StaticRepo::getConnexion()->lastInsertId(); settype($id, 'integer'); if($result) return $id; else return false; } public static function delete($idMedecin){ if(!StaticRepo::checkParam($idMedecin,'Numeric')) return false; $req = StaticRepo::getConnexion()->prepare('DELETE FROM Medecin WHERE Id = :id'); return $req->execute(['id' => $idMedecin]); } public static function search($nom, $prenom){ if( !StaticRepo::checkParam($prenom,'String45') && !StaticRepo::checkParam($nom,'String45') ) return false; // on définit les valeurs (peuvent être nulles) $optPrenom = ( $prenom != 'null' && StaticRepo::checkParam($prenom,'String45') ) ? '%'.$prenom.'%' : '%'; $optNom = ( $nom != 'null' && StaticRepo::checkParam($nom, 'String45') ) ? '%'.$nom.'%' : '%'; $req = StaticRepo::getConnexion()->query("SELECT Id, Civilite, Prenom, Nom FROM Medecin WHERE Nom LIKE '".$optNom."' AND Prenom LIKE '".$optPrenom."' ORDER BY Nom, Prenom ASC"); return StaticRepo::delNumeric( $req->fetchAll() ); } public static function getPatients($idMedecin){ if(!StaticRepo::checkParam($idMedecin,'Numeric')) return false; $req = StaticRepo::getConnexion()->prepare('SELECT Patient.* FROM Patient,Medecin WHERE Medecin.Id = :id AND Medecin.Id = Patient.MedecinTraitant'); $req->execute(['id' => $idMedecin]); return StaticRepo::delNumeric($req->fetchAll()); } public static function getAll(){ $req = StaticRepo::getConnexion()->query('SELECT * FROM Medecin ORDER BY nom, prenom ASC'); return StaticRepo::delNumeric( $req->fetchAll() ); } }