query("SET CHARACTER SET utf8"); } public function _destruct() { PdoBD::$monPdo = null; } /** * Fonction statique qui cree l'unique instance de la classe PdoBD */ public static function getPdoBD() { if(PdoBD::$monPdoBD==null) {PdoBD::$monPdoBD= new PdoBD();} return PdoBD::$monPdoBD; } /** ---------------------------------------------- module Connexion * * dernière modif le : 09/03/2022 par Pascal Blain * Retourne les informations d'un utilisateur sous la forme d'un tableau associatif */ public function getInfosUtilisateur($login,$mdp) { $req = "SELECT uId,uNom,uPrenom,uLogin,uMdp,uAdresse,uCP,uVille,uDateEmbauche,uSecteur,uStatut,uRegion, st.pLibelle as wStatut,s.pLibelle as wSecteur,r.pLibelle as wRegion,uLabo,lNom FROM utilisateur INNER JOIN parametre st ON (st.pType='statUti' AND st.pIndice=uStatut) INNER JOIN parametre r ON (r.pType='region' AND r.pIndice=uRegion) INNER JOIN parametre s ON (s.pType='secteur' AND s.pIndice=uSecteur) INNER JOIN labo ON uLabo=lCode"; if ($login==="*") {$req.=" WHERE uId='$mdp';";} else {$req.=" WHERE uLogin='$login' AND uMdp='$mdp';";} //echo $req; $rs = PdoBD::$monPdo->query($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations d'un utilisateur...", $req, PdoBD::$monPdo->errorInfo());} $ligne = $rs->fetch(); return $ligne; } /** ---------------------------------------------- Fin module Connexion */ /** ---------------------------------------------- gestion des PARAMETRES /** * Retourne les informations de la table TYPEPARAMETRE */ public function getLesParametres() { $req = "SELECT tlId, tlLibelle, tlBooleen, tlChoixMultiple, tlCumul FROM typeParametre ORDER BY tlLibelle;"; $rs = PdoBD::$monPdo->query($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la recherche dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} $lesLignes = $rs->fetchAll(); return $lesLignes; } /** * Retourne dans un tableau associatif les informations de la table PARAMETRE (pour un type particulier) */ public function getParametre($type) { $req = "SELECT pIndice, pLibelle, pCategorie FROM parametre WHERE pType='$type' ORDER by pIndice;"; $rs = PdoBD::$monPdo->query($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la recherche des parametres dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} $lesLignes = $rs->fetchAll(); return $lesLignes; } /** * Retourne dans un tableau associatifles informations de la table PARAMETRE (pour un type particulier) */ public function getInfosParam($type, $valeur) { if ($valeur=="NULL") {$req = "SELECT pType, max(pIndice)+1 AS pIndice, ' ' AS pLibelle, tlLibelle, pPlancher, pPlafond FROM parametre INNER JOIN typeParametre ON typeParametre.tlId=parametre.pType WHERE pType='$type';"; } else {$req = "SELECT pType, pIndice, pLibelle, tlLibelle, pPlancher, pPlafond FROM parametre INNER JOIN typeParametre ON typeParametre.tlId=parametre.pType WHERE pType='$type' AND pIndice like '$valeur';"; } $rs = PdoBD::$monPdo->query($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la recherche dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} $ligne = $rs->fetch(); return $ligne; } /** * Met a jour une ligne de la table PARAMETRE */ public function majParametre($type, $valeur, $libelle, $territoire, $dep, $plancher, $plafond) { $req = "UPDATE parametre SET pLibelle='$libelle', pPlancher=$plancher, pPlafond=$plafond WHERE pType='$type' AND pIndice=$valeur;"; $rs = PdoBD::$monPdo->exec($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la mise a jour des parametres dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} } /** * supprime une ligne de la table PARAMETRE */ public function supprimeParametre($type, $valeur) { $req = "DELETE FROM parametre WHERE pType='$type' AND pIndice=$valeur;"; $rs = PdoBD::$monPdo->exec($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la suppression d'un parametre dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} } /** * ajoute une ligne dans la table PARAMETRE */ public function ajoutParametre($type, $valeur, $libelle,$territoire, $dep, $plancher, $plafond) { $req = "INSERT INTO parametre (pType, pIndice, pLibelle, pPlancher, pPlafond) VALUES ('$type', $valeur, '$libelle', $plancher, $plafond);"; $rs = PdoBD::$monPdo->exec($req); 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 */ } ?>