modif
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<?php
|
||||
/**
|
||||
* @author :Pascal BLAIN, lycee le castel à Dijon
|
||||
* @version :2022-03-09
|
||||
* @version :2022-03-31
|
||||
* Classe d'acces aux donnees. Utilise les services de la classe PDO pour l'application
|
||||
* Les attributs sont tous statiques, les 4 premiers pour la connexion
|
||||
* $monPdo est de type PDO - $monPdoBD contient l'unique instance de la classe
|
||||
@@ -60,8 +60,220 @@ class PdoBD
|
||||
$ligne = $rs->fetch();
|
||||
return $ligne;
|
||||
}
|
||||
/** ---------------------------------------------- Fin module Connexion
|
||||
/** ---------------------------------------------- Fin module Connexion*/
|
||||
/** ---------------------------------------------- Infos des praticiens*/
|
||||
public function getInfosCompteRendu()
|
||||
{
|
||||
$req = "SELECT pNom,pPrenom,pRue,pCP,pVille,vDate,vMotif,vRapport
|
||||
FROM praticien INNER JOIN visite ON praticien.pNum = visite.pNum";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la recherche des informations dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$lesLignes = $rs->fetchAll();
|
||||
return $lesLignes;
|
||||
}
|
||||
|
||||
/** ---------------------------------------------- module gestion des UTILISATEURS
|
||||
* Retourne les informations des UTILISATEURS
|
||||
*/
|
||||
public function getLesUtilisateurs()
|
||||
{
|
||||
$req = "SELECT uId,uNom,uPrenom,uLogin,uMdp,uStatut
|
||||
FROM utilisateur
|
||||
ORDER BY uNom,uPrenom;";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des él`ves ..", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$lesLignes = $rs->fetchAll();
|
||||
return $lesLignes;
|
||||
}
|
||||
/**
|
||||
* Retourne les informations des praticiens visités par un visiteur médical
|
||||
*/
|
||||
public function getLesVisités($choix)
|
||||
{
|
||||
$req = "SELECT p.pNum,pNom,pPrenom,pVille,count(*) as nbVisites
|
||||
FROM praticien p INNER JOIN visite v ON p.pNum=v.pNum
|
||||
WHERE uId='$choix'
|
||||
GROUP BY p.pNum,pNom,pPrenom,pVille
|
||||
ORDER BY pNom,pPrenom;";
|
||||
//echo $req;
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations des praticiens visités...", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$lesLignes = $rs->fetchAll();
|
||||
return $lesLignes;
|
||||
}
|
||||
/**
|
||||
* Retourne les informations des labos
|
||||
*/
|
||||
public function getLesLabos()
|
||||
{
|
||||
$req = "SELECT lCode, lNom
|
||||
FROM labo
|
||||
ORDER BY lNom;";
|
||||
//echo $req;
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations des labos...", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$lesLignes = $rs->fetchAll();
|
||||
return $lesLignes;
|
||||
}
|
||||
/**
|
||||
* Met à jour une ligne de la table utilisateur
|
||||
*/
|
||||
public function majUtilisateur($valeur,$nom,$prenom,$statut,$login,$mdp,$adresse,$cp,$ville,$region,$secteur,$labo)
|
||||
{
|
||||
$req = "UPDATE utilisateur SET
|
||||
uNom='$nom', uPrenom='$prenom', uStatut=$statut, uLogin='$login', uAdresse='$adresse',
|
||||
uCP=$cp, uVille='$ville', uRegion=$region, uSecteur=$secteur, ulabo='$labo', uDateModif=NOW()";
|
||||
if ($mdp<>"*") {$req.= ",uMdp='$mdp' ";}
|
||||
$req.=" WHERE uId='$valeur';";
|
||||
$rs = PdoBD::$monPdo->exec($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la mise à jour de l'utilisateur dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
}
|
||||
/**
|
||||
* supprime une ligne de la table utilisateur
|
||||
*/
|
||||
public function supprimeUtilisateur($valeur)
|
||||
{
|
||||
$req = "DELETE
|
||||
FROM utilisateur
|
||||
WHERE uId='$valeur';";
|
||||
$rs = PdoBD::$monPdo->exec($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la suppression de l'utilisateur dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
}
|
||||
/**
|
||||
* ajoute une ligne dans la table utilisateur
|
||||
*/
|
||||
public function nouveauCodeUtilisateur($nom)
|
||||
{
|
||||
$req = "SELECT if( isnull( max(cast(SUBSTRING(uid, 2, length(uid)-1) as unsigned integer)) ) , 1, max(cast(SUBSTRING(uid, 2, length(uid)-1) as unsigned integer))+1) as num
|
||||
FROM utilisateur
|
||||
WHERE LEFT(uId, 1) ='$nom[0]';";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if($rs === false){afficherErreurSQL("Acces impossible a la table utilisateur. ", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$ligne=$rs->fetch();
|
||||
return $nom[0].strval($ligne['num']);
|
||||
}
|
||||
|
||||
public function ajoutUtilisateur($valeur,$nom,$prenom,$statut,$login,$mdp,$adresse,$cp,$ville,$region,$secteur,$labo)
|
||||
{
|
||||
$req = "INSERT INTO utilisateur (uId,uNom,uPrenom,uStatut,uLogin,uMdp,uAdresse,uCP,uVille,uRegion,uSecteur,uLabo,uDateEnreg,uDateModif)
|
||||
VALUES
|
||||
('$valeur','$nom','$prenom',$statut,'$login','$mdp','$adresse',$cp,'$ville',$region,$secteur,'$labo', NOW(),NOW());";
|
||||
$rs = PdoBD::$monPdo->exec($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de l'insertion de l'utilisateur dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
}
|
||||
/** ---------------------------------------------- fin module gestion des UTILISATEURS
|
||||
|
||||
/** ---------------------------------------------- module gestion des praticiens
|
||||
* Retourne les informations des praticiens
|
||||
*/
|
||||
public function getLesPraticiens($region)
|
||||
{
|
||||
$req = "SELECT distinct p.pNum,pNom,pPrenom,region,count(vNum) as nbVisites
|
||||
FROM praticien p LEFT JOIN visite v ON (p.pNum=v.pNum";
|
||||
($_SESSION['region']==0)?$req.=") group by pNom,pPrenom,p.pNum,region;":$req.=" and uId='".$_SESSION['idUtilisateur']."') WHERE region = $region group by pNom,pPrenom,p.pNum,region;";
|
||||
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des praticiens ..", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$lesLignes = $rs->fetchAll();
|
||||
return $lesLignes;
|
||||
}
|
||||
/**
|
||||
* Retourne les informations d'un praticien sous la forme d'un tableau associatif
|
||||
*/
|
||||
public function getInfosPraticien($idfP)
|
||||
{
|
||||
$req = "SELECT pNum,pNom,pPrenom,pRue,pCP,pVille,pCoefNotoriete,p.tCode,tp.tLibelle as wTypeLibelle,p.region,r.plibelle as wRegion
|
||||
FROM praticien p
|
||||
INNER JOIN type_praticien tp ON tp.tCode = p.tCode
|
||||
INNER JOIN parametre r ON (r.pType='region' AND r.pIndice=p.region)
|
||||
WHERE pNum='$idfP'
|
||||
";
|
||||
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations d'un praticien...", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$ligne = $rs->fetch();
|
||||
return $ligne;
|
||||
}
|
||||
/**
|
||||
* Retourne les informations des visites chez un praticien sous la forme d'un tableau associatif
|
||||
*/
|
||||
public function getLesVisitesPraticien($idP)
|
||||
{
|
||||
$req = "SELECT v.uId,vNum,DATE_FORMAT(vDate,'%d/%m/%Y') as wDateVisite,uNom as wNomVisiteur, vRapport, vMotif
|
||||
FROM visite v
|
||||
INNER JOIN utilisateur u ON u.uId = v.uId
|
||||
WHERE pNum='$idP'
|
||||
ORDER BY vDate desc;";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des praticiens ..", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$lesLignes = $rs->fetchAll();
|
||||
return $lesLignes;
|
||||
}
|
||||
/**
|
||||
* Retourne les informations des types praticien
|
||||
*/
|
||||
public function getLesTypesPraticien()
|
||||
{
|
||||
$req = "SELECT tCode, tLibelle
|
||||
FROM type_praticien
|
||||
ORDER BY tLibelle;";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations des types de praticien...", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$lesLignes = $rs->fetchAll();
|
||||
return $lesLignes;
|
||||
}
|
||||
/**
|
||||
* Met à jour une ligne de la table praticien
|
||||
*/
|
||||
public function majPraticien($valeur,$nom,$prenom,$adresse,$cp,$ville,$coefNotoriete,$type,$region)
|
||||
{
|
||||
$req = "UPDATE praticien SET
|
||||
pNom='$nom', pPrenom='$prenom', pRue='$adresse',
|
||||
pCP=$cp, pVille='$ville', region='$region', tCode='$type', pCoefNotoriete='$coefNotoriete'";
|
||||
$req.=" WHERE pNum='$valeur';";
|
||||
$rs = PdoBD::$monPdo->exec($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la mise à jour de l'utilisateur dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
}
|
||||
/**
|
||||
* Supprime une ligne de la table praticien
|
||||
*/
|
||||
public function supprimePraticien($valeur)
|
||||
{
|
||||
$req = "DELETE
|
||||
FROM praticien
|
||||
WHERE pNum='$valeur';";
|
||||
$rs = PdoBD::$monPdo->exec($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de la suppression du praticien dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
}
|
||||
/**
|
||||
* Ajoute une ligne dans la table praticien
|
||||
*/
|
||||
public function nouveauCodePraticien()
|
||||
{
|
||||
$req="SELECT if( isnull( max(pNum) ) , 1, max(pNum)+1 ) AS numNouveau from praticien;";
|
||||
$rs = PdoBD::$monPdo->query($req);
|
||||
if($rs === false){afficherErreurSQL("Acces impossible a la table praticien. ", $req, PdoBD::$monPdo->errorInfo());}
|
||||
$ligne=$rs->fetch();
|
||||
return $ligne['numNouveau'];
|
||||
}
|
||||
public function ajoutPraticien($valeur,$nom,$prenom,$adresse,$cp,$ville,$coefNotoriete,$typePraticien,$region)
|
||||
{
|
||||
$req = "INSERT INTO praticien (pNum,pNom,pPrenom,pRue,pCP,pVille,pCoefNotoriete,tCode,region)
|
||||
VALUES
|
||||
('$valeur','$nom','$prenom','$adresse','$cp','$ville','$coefNotoriete','$typePraticien','$region');";
|
||||
|
||||
$rs = PdoBD::$monPdo->exec($req);
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de l'insertion du praticien dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
}
|
||||
/** ---------------------------------------------- fin module gestion des praticiens
|
||||
|
||||
/** ---------------------------------------------- module gestion des visites
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
/** ---------------------------------------------- fin module gestion des visites
|
||||
|
||||
/** ---------------------------------------------- gestion des PARAMETRES
|
||||
/**
|
||||
@@ -147,6 +359,5 @@ class PdoBD
|
||||
if ($rs === false) {afficherErreurSQL("Probleme lors de l'insertion d'un parametre dans la base de données.", $req, PdoBD::$monPdo->errorInfo());}
|
||||
}
|
||||
/** ---------------------------------------------- fin gestion des PARAMETRES
|
||||
*/
|
||||
}
|
||||
?>
|
Reference in New Issue
Block a user