Advertisement
Guest User

Untitled

a guest
Jun 9th, 2017
575
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.59 KB | None | 0 0
  1. <?php
  2. /*
  3.  * Class : db
  4.  * Connexion à la base de données
  5.  */
  6. class db
  7. {
  8.     private $host = '127.0.0.1';
  9.     private $user = 'root';
  10.     private $pass = '';
  11.     private $base = 'test';
  12.  
  13.     public function __construct()
  14.     {  
  15.         $link = @mysql_connect($this->host, $this->user, $this->pass);
  16.         $db_selected = @mysql_select_db($this->base, $link);
  17.    
  18.         if(!$link)
  19.         {
  20.             die('<pre>Acc&egrave;s : Connexion &agrave; la base de donn&eacute;es impossible</pre>');
  21.         }
  22.         elseif(!$db_selected)
  23.         {
  24.             die('<pre>db : Connexion &agrave; la base de donn&eacute;es impossible</pre>');    
  25.         }
  26.         else
  27.         {
  28.             return $link;
  29.         }
  30.     }
  31.  
  32.     public function close()
  33.     {
  34.         mysql_close(self::__construct());
  35.     }
  36. }
  37.  
  38. /*
  39.  * Class : sql
  40.  */
  41. class sql extends db
  42. {
  43.     /* Les variables */
  44.     public $table;
  45.     public $field;
  46.     public $value;
  47.    
  48.     public $datas = array();
  49.     public $conditions = array();
  50.    
  51.     /* Enregistre, retourne true en cas de succès, sinon false */
  52.     public function insert($table, $datas)
  53.     {
  54.         $requete = "INSERT INTO $table ";
  55.         $fields = $values = '';
  56.  
  57.         foreach($datas as $field => $value)
  58.         {
  59.             $fields .= "$field, ";
  60.             $values .= "'$value', ";
  61.         }
  62.        
  63.         $fields = substr($fields, 0, strlen($fields) - 2);
  64.         $values = substr($values, 0, strlen($values) - 2);
  65.         $requete .= "($fields) VALUES ($values)";
  66.         $query = mysql_query($requete);
  67.  
  68.         return (!$query) ? false : true;
  69.     }
  70.  
  71.     /* Modifie, retourne true en cas de succès, sinon false */
  72.     public function update($table, $datas, $conditions)
  73.     {  
  74.         $requete = "UPDATE $table ";
  75.         $i = 0;
  76.        
  77.         foreach($datas as $field => $value)
  78.         {
  79.             $requete .= ($i < 1) ? "SET $field = '$value', " : "$field = '$value', ";
  80.             $i++;
  81.         }
  82.        
  83.         $requete = substr($requete, 0, strlen($requete) - 2);
  84.         $requete .= " ".$this->conditions($conditions);
  85.         $query = mysql_query($requete);
  86.  
  87.         return (!$query) ? false : true;
  88.     }
  89.  
  90.     /* Supprime, retourne true en cas de succès, sinon false */
  91.     public function delete($table, $conditions)
  92.     {
  93.         $requete = "DELETE FROM $table ".$this->conditions($conditions);
  94.         $query = mysql_query($requete);
  95.  
  96.         return (!$query) ? false : true;
  97.     }
  98.    
  99.     /* Sélectionne des informations, retourne les informations en cas de succès, sino false */
  100.     public function select($table, $datas, $conditions)
  101.     {
  102.         $requete = $fields = '';
  103.  
  104.         foreach($datas as $field)
  105.         {
  106.             $fields .= "$field, ";
  107.         }
  108.        
  109.         $fields = substr($fields, 0, strlen($fields) - 2);
  110.         $requete .= "SELECT ".$fields." FROM $table ".$this->conditions($conditions);
  111.         $query = mysql_query($requete);
  112.  
  113.         if($query)
  114.         {
  115.             $datas = mysql_fetch_array($query);
  116.  
  117.             return $datas;
  118.         }
  119.         else
  120.         {
  121.             return false;
  122.         }
  123.     }
  124.    
  125.     /* Vérifie si une valeur existe dans un champ, retourne la valeur du premièr champ du tableau $condition */
  126.     public function existe($table, $conditions)
  127.     {
  128.         $fields = array_keys($conditions);
  129.         $requete = "SELECT ".$fields[0]." FROM $table ".$this->conditions($conditions);
  130.         $query = mysql_query($requete);
  131.        
  132.         if(mysql_num_rows($query) < 1)
  133.         {
  134.             return false;
  135.         }
  136.         else
  137.         {
  138.             $data = mysql_fetch_assoc($query);
  139.  
  140.             return $data[$fields[0]];
  141.         }
  142.     }
  143.  
  144.     /* Génère le WHERE et les AND si ils existent */
  145.     private function conditions($conditions)
  146.     {
  147.         $requete = $fields = $values = '';
  148.         $i = 0;
  149.        
  150.         foreach($conditions as $field => $value)
  151.         {
  152.             $requete .= ($i < 1) ? " WHERE $field = '$value'" : " AND $field = '$value' ";
  153.             $i++;
  154.         }  
  155.        
  156.         return $requete;
  157.     }
  158. }
  159. /*
  160. echo "<pre>";
  161.  
  162. $db = new db;
  163. $sql = new sql;
  164.  
  165. $table = 'membres';
  166.  
  167. $fields = array(
  168. 'id',
  169. 'prenom',
  170. 'nom',
  171. 'email'
  172. );
  173.  
  174. $datas = array(
  175. 'prenom'    => 'jean',
  176. 'nom'   => 'dupond',
  177. 'email' => 'jean.dupond@email.com'
  178. );
  179.  
  180. $conditions = array(
  181. 'prenom'    => 'jean',
  182. 'nom'   => 'dupond'
  183. );
  184.  
  185. $insert = $sql->insert($table, $datas);
  186. echo ($insert) ? "Enregistrement r&eacute;ussit<br />" : "Enregistrement &eacute;chou&eacute;<br />";
  187.  
  188. $update = $sql->update($table, $datas, $conditions);
  189. echo ($update) ? "Modification r&eacute;ussit<br />" : "Modification &eacute;chou&eacute;<br />";
  190.  
  191. $delete = $sql->delete($table, $conditions);
  192. echo ($delete) ? "Suppression r&eacute;ussit<br />" : "Suppression &eacute;chou&eacute;<br />";
  193.  
  194. $existe = $sql->existe($table, $conditions);
  195. echo ($existe) ? "<strong>$existe</strong> existe d&eacute;j&agrave;<br />" : "Cette valeur n'existe pas<br />";
  196.  
  197. $datas = $sql->select($table, $fields, $conditions);
  198. if($datas)
  199. {
  200.     echo "S&eacute;lection r&eacute;ussit<br />";
  201.     print_r($datas);
  202. }
  203. else
  204. {
  205.     echo "S&eacute;lection &eacute;chou&eacute;<br />";
  206. }
  207.  
  208. $db->close();
  209.  
  210. echo "</pre>";
  211. */
  212. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement