Classe qui execute les requetes noobies et experts souhaitant clarifier le code

Description

Cette classe permet de faire des requete sans les ecrire .
Je l'ai crée en 4 émé année a l'esgi.
Depuis je l'utilise et l'ameliore de temps a autres.
Elle m'a fait gagné enormement de temps aussi je la soumet et espere que des gens l'utiliseron et l amelorement aussi.
Il exsite une version que j ai ecrite en collaboration avec le DataDef qui fera l'objet d un prochain POST

Exemples d'utilisation:
$objet_genere_resultats = new genere_resultats(); #mon nouvel objet
$objet_genere_resultats->set_param('commande_tmp',''); # instanciation qui pointe sur la table desirée
#-----------Extration du detail -----------------
$ligneCommande=$objet_genere_resultats->GetValuesbyTableWhere($com_id,'com_id');
while ($ligneCmd = mysql_fetch_array($ligneCommande)) {
$a=$ligneCmd['com_taille'] . "<br>";
$b=$ligneCmd['com_recette']. "<br>";
$c=$ligneCmd['com_forme'];
}

# mise a jour d un champ
$objet_genere_resultats->UpdateField('com_pic_2',$fnew_name,$com_id,'com_id');
# mise a jour des données d un formulaire
$objet_genere_resultats->UpdateTable($_POST,$com_id,'com_id'); # il faut par contre que les noms des champs de formulaires soit les meme que ceux que vous avez en base de donnée pensez a faire des unset($_POST['valid_x']);unset($_POST['valid_y']); si necessaire ainsi la classe mettra a jour la base de donnée l'insertion est calqué sur le meme systeme.

Voila qui devrai vous faire gagner du temps.
N'oubliez pas d'effecturer au prealable la connexion a la base de donnée.
Un exemple de ce code est sur le site de rencontre www.love2love.com
Savon.

Source / Exemple :


<?php

#Ma classe genere les resultats.

Class genere_resultats {

var  $table;
var  $base;
var  $start =0;
var  $end =5;
function set_param($table_courante) {
#mon constructeur
$this->table = $table_courante;
$this->base = 'nomdevotrebase';
}

function recup_listes_tables (  ) {
$query = mysql_query("SHOW TABLES;");
return $query;
}
//on veut le nom des champs en fonction de la table.
function GetChampsbyTable(  ) {
$query = mysql_query("SHOW FIELDS FROM $this->table  ;");
return $query;
}
//on veut le nombre de champs de la table
//
function CountValues () {
$result = mysql_query ("SELECT COUNT(*) FROM $this->table;");
	$row = mysql_fetch_row($result);
	return $row[0];
}
//on veut les valeurs de la tables
//
function GetValuesbyTable() {
$query = mysql_query("select * FROM $this->table  ;");
return $query;
}
//on veut les valeurs de la tables pour la pagination
//
function GetValuesbyTableLimited($start,$end) {
$query = mysql_query("SELECT * FROM $this->table LIMIT $start,$end;");
return $query;
}
//on veut les valeurs de la tables
//
function GetValuesbyTableWhere( $fieldcond, $valfieldcond ) {
$query="SELECT * FROM $this->table WHERE " .$fieldcond . "=" .$valfieldcond;
$result = mysql_query($query);
	if (!$result)
		$result = -1;
return $result;
}

//on veut une valeur de la table
// 1 champ Valeur recherché 2 champ de condittion 3 valeur du champ de condittion
function GetValuebyFieldWhere( $fieldToGet ,$fieldcond, $valfieldcond ) {
$query="SELECT ".$fieldToGet." FROM $this->table WHERE " .$fieldcond . "=" .$valfieldcond;
$result = mysql_query($query);
$row = mysql_fetch_row($result);
return $row[0];
}

//on veut les valeurs du enum
//
function Enumget($field,$table) {
   $result=mysql_query("SHOW COLUMNS FROM `$table` LIKE '$field'");
   if(mysql_num_rows($result)>0){
       $row=mysql_fetch_row($result);
       $options=explode("','", preg_replace("/(enum|set)\('(.+?)'\)/","\\2", $row[1]));
   } else {
       $options=array();
   }
   return $options;
}
function InsertTable($values) {
$query = " INSERT INTO $this->table  ( ";

foreach ($values as $fieldName => $fieldValue){
  $query .=  $fieldName . ','  ;
  }
  $query = substr("$query", 0, -1); //J'enleve la derniere virgule
  $query.= ") VALUES( ";
foreach ($values as $fieldName => $fieldValue){
  $query .=  " ' ".$fieldValue  . "'" . ',' ;
  }
  $query = substr("$query", 0, -1); //J'enleve la derniere virgule
  $query .= ");" ;
  //echo $query;
  $code_retour=mysql_query( $query )
  or die("impossible d inserer les valeur dans la base , peut etre est elle protegée en ecriture ou indisponible.");
  return $code_retour;
}
// Update the contain data
//
function UpdateTable($values,$idToUpdate,$fieldIdName) {
$query = " UPDATE $this->table SET  ";
foreach ($values as $fieldName => $fieldValue){
  $query .= $fieldName.'='."'".$fieldValue."'".','  ;
  }
  $query = substr("$query", 0, -1); //J'enleve la derniere virgule
  $query .= " WHERE ". $fieldIdName . " = " . $idToUpdate;
  //echo $query;
   $retour =mysql_query($query) or die("L'update a echoué.");
  return $retour;
}
// Update only one contain data
//
function UpdateField($fieldName,$fieldValue,$idToUpdate,$fieldIdName) {
$query = " UPDATE $this->table SET  ";
$query .= $fieldName.'='."'".$fieldValue."'" ;
$query .= " WHERE ". $fieldIdName . " = " . $idToUpdate;
$retour =mysql_query($query);
return $retour;
}

}

?>

Conclusion :


mise a jour

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.