ajout de la partie slam dans le dossier web
This commit is contained in:
		
							
								
								
									
										152
									
								
								ap23/web/modele/classPDO.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										152
									
								
								ap23/web/modele/classPDO.php
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,152 @@ | ||||
| <?php | ||||
| /**  | ||||
|  * @author 	:Pascal BLAIN, lycee le castel à Dijon | ||||
|  * @version :2022-03-09 | ||||
|  * 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 | ||||
|  * @link       http://www.php.net/manual/fr/book.pdo.php | ||||
|  */ | ||||
|  | ||||
| class PdoBD | ||||
| {   		 | ||||
| 	private static $serveur='mysql:host=localhost'; | ||||
| 	private static $bdd='dbname=gsb2022';   		 | ||||
| 	private static $user='gsbadm';    		 | ||||
| 	private static $mdp='gsbadm';	 | ||||
| 	private static $monPdo; | ||||
| 	private static $monPdoBD=null; | ||||
| 			 | ||||
| 	private function __construct() | ||||
| 	{ | ||||
| 		PdoBD::$monPdo = new PDO(PdoBD::$serveur.';'.PdoBD::$bdd, PdoBD::$user, PdoBD::$mdp);  | ||||
| 		PdoBD::$monPdo->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 | ||||
| */ | ||||
| } | ||||
| ?> | ||||
		Reference in New Issue
	
	Block a user