Constucteur de requete SQL en php
liliputien2002
Messages postés
46
Date d'inscription
Statut
Membre
Dernière intervention
-
cobax Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
cobax Messages postés 33 Date d'inscription Statut Membre Dernière intervention -
Bonjour
Pour ceux qui en ont marre de taper a la mimine les requete sql simple (Select, Insert, Update, Delete)(monotable), voila un objet php qui pourra (je l'espère) faire plaisir à certain.
tout d'abord le code de l'objet :
Comment ca marche : de la manière suivante :
créer une variable de type table
Le premier paramètre identifie la table sur la quelle vous allez lancer vos requête.
Ensuite vous voulez faire un select mais que de certain champ :
maintenant faire executer la requete :
Pour de l'insert : on prend prend même objet puis on ecrit :
Pour le delete :
Pour tout supprimer
Pour supprimer 1 ligne spécifique
Updater :
toute la table
un tuple de la table
si vous souhaitez juste afficher la requete il suffit de replacer le mysql_query par un echo.
voila
si ça peut faire des heureux tant mieux
Pour ceux qui en ont marre de taper a la mimine les requete sql simple (Select, Insert, Update, Delete)(monotable), voila un objet php qui pourra (je l'espère) faire plaisir à certain.
tout d'abord le code de l'objet :
class Table { var $From; var $Table = array(); var $StrucTable = array(); // constructeur function Table($NomTable, $NomBase) { $this->From = $NomTable; mysql_connect("localhost", "mdslroot", "access_"); mysql_select_db($NomBase); $resultat=mysql_query("SELECT * FROM ".$NomTable); $nbr_champ = mysql_num_fields($resultat); $contenuChamp=mysql_fetch_row($resultat); for ($i=0;$i<$nbr_champ;$i++) { $this->StrucTable[$i] = mysql_field_name($resultat, $i); } mysql_close(); foreach($this->StrucTable as $k => $v) { $this->Table[$v][0] = $v; $this->Table[$v]["S"] = "Not"; $this->Table[$v]["V"] = "Not"; } } // métode de construction de requete select function Select($WhereClause, $OrderClause, $GroupClause) { $SelectClause = ""; foreach($this->StrucTable as $k => $v) { if ($this->Table[$v]["S"] == "1") { $SelectClause .= $this->Table[$v][0] . ", "; } } $SelectClause = substr($SelectClause, 0, strlen($SelectClause)-2); $Rq="SELECT " . $SelectClause . " FROM " . $this->From; if ($WhereClause<>"") { $Rq .= " WHERE " . $WhereClause; } if ($OrderClause<>"") { $Rq .= " ORDER BY " . $OrderClause; } if ($GroupClause<>"") { $Rq .= " GROUP BY " . $GroupClause; } $this->RAZ(); return $Rq; } // fin de la méthode lire_patient // méthode de contruction de requete Update function Update($WhereClause) { $UpdateClause = ""; foreach($this->StrucTable as $k => $v) { if ($this->Table[$v]["S"] == "1") { $UpdateClause .= "`" . $this->Table[$v][0] . "`='" . $this->Table[$v]["V"] . "', "; } } $UpdateClause = substr($UpdateClause, 0, strlen($UpdateClause)-2); $Rq="UPDATE `" . $this->From . "` SET " . $UpdateClause; if ($WhereClause<>"") { $Rq .= " WHERE " . $WhereClause; } $this->RAZ(); return $Rq; } // méthode de construc de requete Delete function Supprime() { $WhereClause = ""; foreach($this->StrucTable as $k => $v) { if ($this->Table[$v]["S"] == "1") { $WhereClause .= $this->Table[$v][0] . "=" . $this->Table[$v]["V"] . " AND "; } } $WhereClause = substr($WhereClause, 0, strlen($WhereClause)-5); $Rq="DELETE FROM ". $this->From;; if ($WhereClause<>"") { $Rq .= " WHERE " . $WhereClause; } $this->RAZ(); return $Rq; } // méthode de construction de requete Insert function Insert() { $InserChamp = ""; $InserValeur = ""; foreach($this->StrucTable as $k => $v) { if ($this->Table[$v]["S"] == "1") { $InserChamp .= "" . $this->Table[$v][0] . ", "; $Valeur = ''; if ($this->Table[$v]["V"] <> "Not") { $Valeur = $this->Table[$v]["V"]; } $InserValeur .= "'" . addSlashes($Valeur) . "', "; } } $InserChamp = substr($InserChamp, 0, strlen($InserChamp)-2); $InserValeur = substr($InserValeur, 0, strlen($InserValeur)-2); $this->RAZ(); $Rq="INSERT INTO `" . $this->From . "` (" . $InserChamp . ") VALUES (" . $InserValeur . ")"; return $Rq; } // méthode de remise à zéro : // pour tous les champs de la table sélectionné on dit // tous les champs ne sont plus sélectionner // tous les champs n'ont plus aucune valeur function RAZ() { foreach($this->StrucTable as $k => $v) { $this->Table[$v]["S"] = "Not"; $this->Table[$v]["V"] = "Not"; } } // Méthode de sélection du champs function SelectChamp($NomChamp) { $this->Table[$NomChamp]["S"] = 1; } // méthode d'affectation de valeur à un champs function ValeurChamp($NomChamp, $LaValeur) { $this->SelectChamp($NomChamp); $this->Table[$NomChamp]["V"] = $LaValeur; } }
Comment ca marche : de la manière suivante :
créer une variable de type table
$Article = new Table("MaTable", "MaBase");
Le premier paramètre identifie la table sur la quelle vous allez lancer vos requête.
Ensuite vous voulez faire un select mais que de certain champ :
$Article->SelectChamp("Champ1"); $Article->SelectChamp("Champ3"); $Article->SelectChamp("Champ5");
maintenant faire executer la requete :
mysql_query($Article->Select("LaWhereClause", "LeOrderByClause", "LaGroupByClause"));
Pour de l'insert : on prend prend même objet puis on ecrit :
$Article->ValeurChamp("Champ1", "Valeur1"); $Article->ValeurChamp("Champ3", "Valeur3"); $Article->ValeurChamp("Champ5", "Valeur5"); mysql_query($Article->Insert());
Pour le delete :
Pour tout supprimer
mysql_query($Article->Supprime();)
Pour supprimer 1 ligne spécifique
$Article->SelectChamp("Champ1", "MaValeur"); mysql_query($Article->Supprime());
Updater :
toute la table
mysql_query($Article->Supprime());
un tuple de la table
$Article->ValeurChamp("Champ1", "MaValeur"); $Article->ValeurChamp("Champ1", "MaValeur"); mysql_query($Article->Supprime());
si vous souhaitez juste afficher la requete il suffit de replacer le mysql_query par un echo.
voila
si ça peut faire des heureux tant mieux
A voir également:
- Constucteur de requete SQL en php
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Logiciel sql - Télécharger - Bases de données
- Sql lister les tables ✓ - Forum Programmation
- Erreur lors de l'envoi de la requête facebook - Forum Facebook
abdousow y a mieux tu paye qq'un et il fait tout .