db=$db; $this->id_connect=@mysql_connect($srv,$usr,$pwd); $dbselect=@mysql_select_db($this->db, $this->id_connect); if(!$dbselect) { $this->Close(); $this->id_connect=false; } } public function Close() { @mysql_close($this->id_connect); } public function Select($champs,$tables,$conditions,$group,$order,$nbrec,$liminf) /* Effectue une requ?te SELECT sur la table choisie RETOUR: une matrice (nbre de records X nbre de champs) false en cas d'?chec ou 0 enregistrement $champs = une liste des champs s?par?s par , $tables = une liste des tables s?par?es par , avec alias si n?cessaire $conditions = liste des conditions s?par?s par des op?rateurs logiques $group = champ(s) sur le(s)quel(s) sera effectu? un regroupement $order = champ(s) sur le(s)quel(s) seront tri?s les enregistrements (+ ASC pour croissant et DESC pour d?croissant) $liminf = index du premier enregistrement de l'intervalle ? retourner $nbrec = nombre d'enregistrements ? retourner */ { $this->total_req++; $query="SELECT ".$champs." FROM ".$tables; if(!empty($conditions)) { $query=$query." WHERE ".$conditions; } if(!empty($group)) { $query=$query." GROUP BY ".$group; } if(!empty($order)) { $query=$query." ORDER BY ".$order; } if(!empty($nbrec)) { if(!empty($liminf)) { $query=$query." LIMIT ".$liminf.", ".$nbrec; } else { $query=$query." LIMIT ".$nbrec; } } if($this->id_connect != false) { $res=@mysql_query($query, $this->id_connect); if (empty($res)) { return false; } else { $nbRows=@mysql_num_rows($res); if ($nbRows==0) { return false; } else { for($i=0;$i<$nbRows;$i++) { $enregs[$i]=@mysql_fetch_array($res); } return $enregs; } } } else { return false; } } public function Count($champs,$tables,$conditions) { $this->total_req++; $query = "SELECT COUNT(".$champs.") AS count FROM ".$tables; if(!empty($conditions)) { $query.= " WHERE ".$conditions; } $res = @mysql_query($query, $this->id_connect); if($res) { $res2 = mysql_fetch_array($res); return $res2['count']; } else { return 0; } } public function Insert($champs,$valeurs,$table) /* Effectue une requ?te INSERT sur une table de la base s?lectionn?e RETOUR : True en cas de r?ussite False en cas d'?chec $champs = une liste des champs s?par?s par , $valeurs = une liste de valeurs pour les champs correspondant s?par?s par , $table = la table dans laquelle il faut ins?rer les enregistrements */ { $this->total_req++; $query="INSERT INTO ".$table." (".$champs.") VALUES (".$valeurs.")"; if($this->id_connect != false) { $res= @mysql_query($query, $this->id_connect); if ($res) { return true; } else { return false; //return mysql_error(); } } else { return false; //return mysql_error(); } } public function Delete($table,$conditions) /* Effectue une requ?te DELETE sur une table de la base s?lectionn?e RETOUR : Le nombre d'enregistrements supprim?s False en cas d'?chec $table = la table dans laquelle il faut ins?rer les enregistrements $conditions = liste des conditions s?par?s par des op?rateurs logiques */ { $this->total_req++; $query="DELETE FROM ".$table; if(!empty($conditions)) { $query=$query." WHERE ".$conditions; } if($this->id_connect != false) { $res=@mysql_query($query, $this->id_connect); if (empty($res)) { return false; } else { return mysql_affected_rows($this->id_connect); } } } public function Update($tables,$champs,$valeurs,$conditions) /* Effectue une requ?te UPDATE sur une table de la base s?lectionn?e RETOUR : Le nombre d'enregistrements mis ? jour False en cas d'?chec $tables = listes de tables dans lesquelles il faut mettre ? jour les enregistrements $champs = Champs ? mettre ? jour : soit une valeur soit un vecteur si il y a plusieurs champs $valeurs = Valeurs pour mettre ? jour : soit une valeur soit un vecteur si il y a plusieurs champs $conditions = liste des conditions s?par?s par des op?rateurs logiques */ { $this->total_req++; $query="UPDATE ".$tables." "; $nbchamps=count($champs); if ($nbchamps!=0) { if ($nbchamps==1) { $query=$query."SET ".$champs."='".$valeurs."' "; } else { $query=$query."SET ".$champs[0]."='".$valeurs[0]."'"; for($i=1;$i<$nbchamps;$i++) { $query=$query.", ".$champs[$i]."='".$valeurs[$i]."'"; } } } if(!empty($conditions)) { $query=$query." WHERE ".$conditions; } if($this->id_connect != false) { $res=@mysql_query($query, $this->id_connect); if (empty($res)) { return false; } else { return @mysql_affected_rows($this->id_connect); } } } public function Query ($query) { if ($this->id_connect != false) { $res=mysql_query($query); if ($res != false) { return true; } else { return false; } } else { return false; } } private $db; public $id_connect; public $total_req = 0; } ?>