projet-php/repositories/repos/MedecinRepo.php

77 lines
2.3 KiB
PHP
Raw Normal View History

<?php
/**
* Created by PhpStorm.
* User: seekdasky
* Date: 02/12/15
* Time: 12:36
*/
class MedecinRepo
{
public static function getById($id){
2015-12-10 09:56:06 +00:00
if(!StaticRepo::checkParam($id,'Integer')){return false;}
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM Medecin WHERE Id = :id');
$req->execute(['id' => $id]);
return StaticRepo::delNumeric( $req->fetch(), true );
}
public static function add($civilite,$prenom,$nom){
2015-12-10 09:56:06 +00:00
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]);
2015-12-10 10:46:29 +00:00
//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){
2015-12-10 10:46:29 +00:00
if(!StaticRepo::checkParam($idMedecin,'Integer')){return false;}
$req = StaticRepo::getConnexion()->prepare('DELETE FROM Medecin WHERE Id = :id');
return $req->execute(['id' => $idMedecin]);
}
public static function search($nom,$prenom){
2015-12-10 10:46:29 +00:00
if(!StaticRepo::checkParam($prenom,'String45') && !StaticRepo::checkParam($nom,'String45')){return false;}
$req = StaticRepo::getConnexion()->prepare('SELECT * FROM Medecin WHERE Nom LIKE :nom AND Prenom LIKE :prenom');
$req->execute(['nom' => $nom,
'prenom' => $prenom]);
return StaticRepo::delNumeric($req->fetchAll());
}
public static function getPatients($idMedecin){
2015-12-10 09:56:06 +00:00
if(!StaticRepo::checkParam($idMedecin,'Integer')){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() );
}
}