Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /*
- * Deux fonctions sont crées pour lancer une requéte SQL. Un exmple d'appel de ces fonctions dans du code :
- * - $tableauDeResultats = Connexion::query("SELECT * FROM nom_table");
- * Le résultat de la requète est enregistré dans la variable $tableauDeResultats
- * - $succes = Connexion::exec("INSERT..."); marche aussi pour UPDATE et DELETE
- * Le résultat de la requete est placé dans la variable $succes : si 0 alors la requète n'a pas
- * fonctionnée, sinon $succes contiendra le nombre d'enregistrement affectés
- */
- class Connexion {
- private static $_pdo = null;
- private function __construct() {
- }
- private static function _get() {
- $dsn = 'mysql:dbname=coopenoix_v0;host=localhost';
- $user = 'root';
- $password = 'pwsio';
- try {
- self::$_pdo = new PDO($dsn, $user, $password);
- } catch (PDOException $e) {
- echo 'Connexion échouée : ' . $e->getMessage();
- }
- self::$_pdo->exec('SET NAMES \'utf8\'');
- }
- public static function query($query) {
- if (is_null(self::$_pdo)) {
- self::_get();
- }
- $result = self::$_pdo->query($query);
- if (!$result) {
- throw new Exception('Erreur de requête : ' . $query);
- }
- return $result->fetchAll(PDO::FETCH_BOTH);
- }
- public static function exec($query) {
- if (is_null(self::$_pdo)) {
- self::_get();
- }
- return self::$_pdo->exec($query);
- }
- public static function getAll($table, $order = null) {
- $query = 'select * from `' . $table . '`';
- if (!is_null($order)) {
- $query .= ' order by ' . $order;
- }
- $itemsTemp = self::query($query);
- $items = [];
- foreach ($itemsTemp as $i) {
- $items[$i['id']] = $i;
- }
- return $items;
- }
- public static function getOne($table, $id) {
- if (!self::estValideId($id)) {
- return null;
- }
- $query = 'select * from `' . $table . '` where id=' . $id;
- $result = self::query($query);
- if (isset($result[0])) {
- return $result[0];
- } else {
- return null;
- }
- }
- public static function getTableauAssociatif($query) {
- $itemsTemp = self::query($query);
- $items = [];
- foreach ($itemsTemp as $i) {
- $items[$i[0]] = $i[1];
- }
- return $items;
- }
- public static function estValideId($id) {
- return is_numeric($id) and $id > 0;
- }
- public static function insert($table, $row) {
- if (isset($row['id'])) {
- unset($row['id']);
- }
- $query = 'insert into `' . $table . '`(' . implode(',', array_keys($row)) . ') values(';
- foreach ($row as $value) {
- if (is_null($value)) {
- $query .= 'null,';
- } else {
- $query .= '"' . $value . '",';
- }
- }
- $query = substr($query, 0, -1) . ')';
- return self::exec($query);
- }
- public static function update($table, $row) {
- $query = 'update `' . $table . '` set ';
- $id = $row['id'];
- unset($row['id']);
- foreach ($row as $key => $value) {
- if (!is_numeric($key)) {
- if (is_null($value)) {
- $query .= $key . '=null,';
- } else {
- $query .= $key . '="' . $value . '",';
- }
- }
- }
- $query = substr($query, 0, -1);
- $query .= ' where id=' . $id;
- return self::exec($query);
- }
- public static function delete($table, $id) {
- $query = 'delete from `' . $table . '` where id=' . $id;
- return self::exec($query);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement