query("SET CHARACTER SET utf8"); } public function _destruct() { PdoBD::$monPdo = null; } /** * Fonction statique qui cree l'unique instance de la classe PdoBD * Appel : $instancePdoBD = PdoBD::getPdoBD(); */ public static function getPdoBD() { if(PdoBD::$monPdoBD==null) {PdoBD::$monPdoBD= new PdoBD();} return PdoBD::$monPdoBD; } /** * Retourne les informations des ELEVES */ public function getLesEleves() { $req = "SELECT EL_PROMO,EL_NUM,EL_TITRE,EL_NOM,EL_PRENOM,EL_PRENOM2,EL_PRENOM3,EL_LOGIN,EL_MDP,EL_RUE,EL_CP,EL_VILLE,EL_TELPERSO,EL_EMAIL,EL_SPECIALITE,EL_BTS,P_TITRE,P_NOM,P_PRENOM,P_RUE,P_CP,P_VILLE,P_TEL,EL_DateModif,EL_PHOTO,EL_NE_LE,EL_BAC_ORIGINE,EL_Lycee,EL_LIEU_NAISSANCE,commentaire FROM eleve ORDER BY EL_NOM,EL_PRENOM;"; $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 d'un eleve sous la forme d'un tableau associatif * public function getInfosEleve($login,$mdp) { $req = "SELECT EL_PROMO,EL_NUM,EL_TITRE,EL_NOM,EL_PRENOM,EL_PRENOM2,EL_PRENOM3,EL_LOGIN,EL_MDP,EL_RUE,EL_CP,EL_VILLE,EL_TELPERSO,EL_EMAIL,EL_SPECIALITE,EL_BTS,P_TITRE,P_NOM,P_PRENOM,P_RUE,P_CP,P_VILLE,P_TEL,EL_DateModif,EL_PHOTO,EL_NE_LE,EL_BAC_ORIGINE,EL_Lycee,EL_LIEU_NAISSANCE,commentaire, EL_STATUT, pLibelle as wStatut FROM eleve INNER JOIN parametre ON (pType='statAgt' AND pIndice=EL_STATUT)"; if ($login==="*") {$req.=" WHERE EL_NUM='$mdp';";} else {$req.=" WHERE EL_LOGIN='$login' AND EL_MDP='$mdp';";} $rs = PdoBD::$monPdo->query($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la lecture des informations d'un élève...", $req, PdoBD::$monPdo->errorInfo());} $ligne = $rs->fetch(); return $ligne; }*/ /** * Retourne les informations d'un ELEVE */ public function getInfosEleve($login,$mdp) { $req = "SELECT EL_PROMO,EL_NUM,EL_TITRE,EL_NOM,EL_PRENOM,EL_PRENOM2,EL_PRENOM3,EL_LOGIN,EL_MDP,EL_RUE,EL_CP,EL_VILLE,EL_TELPERSO,EL_EMAIL,EL_SPECIALITE,EL_BTS,P_TITRE,P_NOM,P_PRENOM,P_RUE,P_CP,P_VILLE,P_TEL,EL_DateModif,EL_PHOTO,EL_NE_LE,EL_BAC_ORIGINE,EL_Lycee,EL_LIEU_NAISSANCE,commentaire, EL_STATUT, pLibelle as wStatut FROM eleve INNER JOIN parametre ON (pType='statAgt' AND pIndice=EL_STATUT)"; if ($login==="*") {$req.=" WHERE EL_NUM=:noeleve;";} else {$req.=" WHERE EL_LOGIN=:login;";} $rs = PdoBD::$monPdo->prepare($req); if ($login==="*") {$rs->bindParam(':noeleve', $mdp);} else {$rs->bindParam(':login', $login);} $rs->execute(); $ligne = $rs->fetch(); return $ligne; } /** * Met à jour une ligne de la table eleve */ public function majEleve($valeur,$nom,$prenom,$statut,$mail,$login,$mdp,$adresse,$cp,$ville,$tel,$commentaire) { $req = "UPDATE eleve SET EL_NOM='$nom', EL_PRENOM='$prenom', EL_STATUT=$statut, EL_EMAIL='$mail', EL_LOGIN='$login', EL_RUE='$adresse', EL_CP=$cp, EL_VILLE='$ville', EL_TELPERSO='$tel', commentaire='$commentaire', EL_DateModif=NOW()"; if ($mdp<>"*") {$req.= ",EL_MDP='$mdp' ";} $req.=" WHERE EL_NUM='$valeur';"; $rs = PdoBD::$monPdo->exec($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la mise à jour de l'eleve dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} } /** * supprime une ligne de la table eleve */ public function supprimeEleve($valeur) { $req = "DELETE FROM eleve WHERE EL_NUM='$valeur';"; $rs = PdoBD::$monPdo->exec($req); if ($rs === false) {afficherErreurSQL("Probleme lors de la suppression de l'eleve dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} } /** * ajoute une ligne dans la table eleve */ public function ajoutEleve($valeur,$nom,$prenom,$statut,$mail,$login,$mdp,$adresse,$cp,$ville,$tel,$commentaire) { $req="SELECT if( isnull( max(EL_NUM) ) , 1, max(EL_NUM)+1 ) AS numNouveau from eleve;"; $rs = PdoBD::$monPdo->query($req); if($rs === false){afficherErreurSQL("Acces impossible a la table eleve. ", $req, PdoBD::$monPdo->errorInfo());} $ligne=$rs->fetch(); $valeur=$ligne['numNouveau']; $req = "INSERT INTO eleve ( EL_NUM,EL_NOM,EL_PRENOM,EL_STATUT,EL_EMAIL,EL_LOGIN,EL_MDP,EL_RUE,EL_CP,EL_VILLE,EL_TELPERSO,commentaire,elDateEnreg, EL_DateModif) VALUES ('$valeur', '$nom', '$prenom', $statut, '$mail', '$login', '$mdp', '$adresse', $cp, '$ville', '$tel','$commentaire', NOW(), NOW());"; $rs = PdoBD::$monPdo->exec($req); if ($rs === false) {afficherErreurSQL("Probleme lors de l'insertion de l'eleve dans la base de données.", $req, PdoBD::$monPdo->errorInfo());} } /** * 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 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());} } } ?>