Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Classe PDO permettant la connection avec la BDD
- *
- * PHP Vesrion 7
- *
- * @category PERSO
- * @package monSiteWebv3
- * @author Loïc DELAUNAY
- * @copyright (c) 2017, Loïc DELAUNAY
- * @version Release: 1.0
- * @link https://loicdelaunay.fr « mon site web »
- */
- class PdoSiteWeb
- {
- private static $_serveur = 'mysql:host=' . PDO_SERVEUR;
- private static $_bdd = 'dbname=' . PDO_BDD;
- private static $_user = PDO_USER;
- private static $_mdp = PDO_MDP;
- private static $_monPdo;
- private static $_monPdoSiteWeb = null;
- /**
- * Crée l'instance de PDO qui sera solicité
- */
- private function __construct()
- {
- PdoSiteWeb::$_monPdo = new PDO(
- PdoSiteWeb::$_serveur . ';' . PdoSiteWeb::$_bdd, PdoSiteWeb::$_user, PdoSiteWeb::$_mdp
- );
- PdoSiteWeb::$_monPdo->query('SET CHARACTER SET utf8');
- }
- /**
- * Destructeur appelée pour supprimer l'instance et la connection vers
- * la BDD
- */
- public function __destruct()
- {
- PdoSiteWeb::$_monPdo = null;
- }
- /**
- * Fonction permettant l'instanciation du PDO
- *
- * @return l'instance PDO de la classe
- */
- public static function getPdoSiteWeb()
- {
- if (PdoSiteWeb::$_monPdoSiteWeb == null) {
- PdoSiteWeb::$_monPdoSiteWeb = new PdoSiteWeb;
- }
- return PdoSiteWeb::$_monPdoSiteWeb;
- }
- /**
- * @param $type
- * @return mixed
- */
- public function getLesConnaisances($type)
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT * from connaissance '
- . 'WHERE connaissance.domaine = :unDomaine'
- );
- $requetePrepare->bindParam(':unDomaine', $type, PDO::PARAM_STR);
- $requetePrepare->execute();
- return $requetePrepare->fetchAll();
- }
- /**
- * @return mixed
- */
- public function getLesConnaisancesCategories()
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT DISTINCT domaine FROM connaissance'
- );
- $requetePrepare->execute();
- $reponse = $requetePrepare->fetchAll();
- return $reponse;
- }
- /**
- * @return mixed
- */
- public function getMesProjets()
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT * FROM projet'
- );
- $requetePrepare->execute();
- return $requetePrepare->fetchAll();
- }
- /**
- * @param $nom
- * @return mixed
- */
- public function getUnProjet($nom)
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT * FROM projet WHERE nom = :nom'
- );
- $requetePrepare->bindParam(':nom', $nom, PDO::PARAM_STR);
- $requetePrepare->execute();
- return $requetePrepare->fetch();
- }
- /**
- * @param $nom
- * @return mixed
- */
- public function getUnProjetTechnologies($nom)
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT * FROM projet
- INNER JOIN assoc_projet_technologie ON projet.nom = assoc_projet_technologie.projet
- LEFT JOIN technologie ON assoc_projet_technologie.technologie = technologie.nom
- WHERE projet.nom = :nom;'
- );
- $requetePrepare->bindParam(':nom', $nom, PDO::PARAM_STR);
- $requetePrepare->execute();
- return $requetePrepare->fetchAll();
- }
- /**
- * @param $email
- * @param $password
- * @return mixed
- */
- public function seConnecter($email, $password)
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT email,nom,role FROM compte WHERE email = :email AND password = :password'
- );
- $requetePrepare->bindParam(':email', $email, PDO::PARAM_STR);
- $requetePrepare->bindParam(':password', $password, PDO::PARAM_STR);
- $requetePrepare->execute();
- return $requetePrepare->fetch();
- }
- /**
- * Retourne l'autorisation d'un compte
- * @param $email
- * @param $password
- * @return mixed
- */
- function getAutorisation($email,$password){
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- "SELECT role FROM compte WHERE email = :email and password = :password "
- );
- $requetePrepare->bindParam(':email', $email, PDO::PARAM_STR);
- $requetePrepare->bindParam(':password', $password, PDO::PARAM_STR);
- $requetePrepare->execute();
- $result = $requetePrepare->fetch();
- return $result[0];
- }
- /**
- * @param $email
- * @param $password
- * @return mixed
- */
- public function getLesTechnologies()
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT * FROM technologie'
- );
- $requetePrepare->execute();
- return $requetePrepare->fetchAll();
- }
- public function getLesCompetences()
- {
- $requetePrepare = PdoSiteWeb::$_monPdo->prepare(
- 'SELECT * FROM connaissance inner join technologie on connaissance.nom = technologie.nom'
- );
- $requetePrepare->execute();
- return $requetePrepare->fetchAll();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement