La communauté ALL HTML c'est 60191 membres à ce jour dont 0 inscrits aujourd'hui et 14 depuis une semaine.
Article publié le samedi 02 septembre 2006 par FabHacker.
Cet article est classé dans les catégories « PHP, SQL »
Il peut être utile de travailler avec des variables de tout type en les enregistrant dans la base de donnée, et cela pour plusieurs raisons.
CREATE TABLE `variables` (
`varid` INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
`nom` VARCHAR(64) NOT NULL,
`type` VARCHAR(8) NOT NULL,
`tinyint` TINYINT NOT NULL,
`smallint` SMALLINT NOT NULL,
`mediumint` MEDIUMINT NOT NULL,
`int` INT NOT NULL,
`bigint` BIGINT NOT NULL,
`float` FLOAT NOT NULL,
`double` DOUBLE NOT NULL,
`date` DATE NOT NULL,
`varchar` VARCHAR(255) NOT NULL,
`tinytxt` TINYTEXT NOT NULL,
`text` TEXT NOT NULL,
`mediumtext` MEDIUMTEXT NOT NULL,
`longtext` LONGTEXT NOT NULL,
UNIQUE (`nom`)
);<?php
// Fonction booléenne indiquant si la variable $var_nom existe.
function existe_var($var_nom) {
// Recherche dans la base de donnée
$sql = "SELECT varid FROM variables WHERE `nom` = '$var_nom'";
$resultat = mysql_query($sql);
if(!mysql_num_rows($resultat)) return false;
else return true;
}
// Retourne la valeur de la variable $var_nom de type $var_type.
// Si elle n'existe pas, cette fonction retourne false.
function aquerir_var($var_nom,$var_type) {
// Recherche dans la base de donnée
$sql = "SELECT `$var_type` FROM variables WHERE nom = '$var_nom'";
$resultat = mysql_query($sql);
if(!mysql_num_rows($resultat)) return false;
// Retour de la valeur
$variable = mysql_fetch_array($resultat);
return $variable[$var_type];
}
// Attribue une valeur pour une variable.
// Si la variable existe déjà, la valeur sera mise à jour.
// La fonction retourne $var_valeur
function definir_var($var_nom,$var_type,$var_valeur) {
// Si la variable n'existe pas, on ajoute une ligne vide
if( !existe_var($var_nom) ) {
$sql = "INSERT INTO `variables` VALUES ('','$var_nom','$var_type','','','','','','','','','','','','','')";
$resultat = mysql_query($sql);
}
// Mise à jour de la valeur
$sql = "UPDATE `variables` SET `$var_type` = '$var_valeur' WHERE `nom` = '$var_nom'";
$resultat = mysql_query($sql);
// Renvoi de la valeur
return $var_valeur;
}
?><?php
include('bdd.php');
include('fct_variables.php');
// Définition d'un nombre entier
definir_var('nombre','int', 3105 );
// Aquisition et affichage du nombre
$nombre = aquerir_var('nombre','int');
print('<br />Nous avont ajouté <b>nombre</b> avec la valeur <b>' . $nombre . '</b>');
// Nouvelle valeur pour 'nombre'
$nombre = definir_var('nombre','int', 6756 );
print('<br />Désormais <b>nombre</b> vaut <b>' . $nombre . '</b>');
// On vérifie maintenant si une variable est dans la base.
// Si elle existe, on l'affiche, sinon on l'ajoute.
// Ce test est à titre EDUCATIF, il est inutile car definir_var() ajoute les variables automatiquement si elle ne sont pas attribuées.
// On donne un nom de variable dynamique
$test = 'entier_' . rand(1,5);
print('<br /><br />Notre variable dynamique est <b>' . $test . '</b>');
if( existe_var($test,'int') ) {
// La variable existe, l'afficher
$temp = aquerir_var($test,'int');
print('<br />La variable <b>' . $test . '</b> a pour valeur <b>' . $temp . '</b>');
} else {
// Sinon, on l'ajoute avec une valeur aléatoire
$valeur = rand(1,999);
$temp = definir_var($test,'int', $valeur );
print('<br />La variable <b>' . $test . '</b> à été ajoutée avec la valeur <b>' . $temp . '</b>');
}
?>
Commentaire publié le mardi 12 septembre 2006 à 08 h 42 par Biboops
Commentaire publié le samedi 16 septembre 2006 à 20 h 10 par FabHacker
Commentaire publié le samedi 30 septembre 2006 à 13 h 31 par FabHacker <?php
// ------------------------------------
// FONCTIONS DE GESTION DES VARIABLES
// v1.0
// par FabHacker
// ------------------------------------
// LISTE DES FONCTIONS
// existe_var( $var_nom ) - Vérifie qu'une variable est enregistrée ou non.
// type_var( $var_nom ) - Retourne le type d'une variable.
// aquerir_var( $var_nom ) - Retourne la valeur d'une variable.
// definir_var( $var_nom , $var_type , $var_valeur ) - Enregistre une variable.
// supprimer_var( $var_nom ) - Supprime une variable.
// Nom de la table contenant les variables
define( _TABLE_VARIABLES , 'variables' );
// Fonction booléenne indiquant si la variable $var_nom existe.
function existe_var($var_nom) {
// Recherche dans la base de donnée
$sql = "SELECT varid FROM " . _TABLE_VARIABLES . " WHERE `nom` = '$var_nom'";
$resultat = mysql_query($sql);
if(!mysql_num_rows($resultat)) return false;
else return true;
}
// Retourne le type de la variable, ou retourne false en cas d'échec.
function type_var($var_nom) {
// Recherche du type dans la base de donnée
$sql = "SELECT type FROM " . _TABLE_VARIABLES . " WHERE nom = '$var_nom'";
$resultat = mysql_query($sql);
if(!mysql_num_rows($resultat)) return false;
// On récupère le type de la variable et on le retourne
$variable = mysql_fetch_object($resultat);
return $variable->type;
}
// Retourne la valeur de la variable $var_nom.
// Si la variable n'existe pas, cette fonction retourne false.
function aquerir_var($var_nom) {
// On récupère le type, on retourne false en cas d'échec
if(!( $var_type = type_var($var_nom) )) return false;
// Recherche de la valeur selon le type
$sql = "SELECT `$var_type` FROM " . _TABLE_VARIABLES . " WHERE nom = '$var_nom'";
$resultat = mysql_query($sql);
// Retour de la valeur
$variable = mysql_fetch_array($resultat);
return $variable[$var_type];
}
// Attribue une valeur pour une variable.
// Si la variable existe déjà, la valeur sera mise à jour.
// La fonction retourne $var_valeur
function definir_var($var_nom,$var_type,$var_valeur) {
// Si la variable n'existe pas, on ajoute une ligne vide
if( !existe_var($var_nom) ) {
$sql = "INSERT INTO " . _TABLE_VARIABLES . " VALUES ('','$var_nom','$var_type','','','','','','','','','','','','','')";
$resultat = mysql_query($sql);
}
// Mise à jour de la valeur
$sql = "UPDATE " . _TABLE_VARIABLES . " SET `$var_type` = '$var_valeur' WHERE `nom` = '$var_nom'";
$resultat = mysql_query($sql);
// Renvoi de la valeur
return $var_valeur;
}
// Supprime la variable de nom $var_nom.
// Retourne false en cas d'échec, sinon true.
function supprimer_var($var_nom) {
// Si la variable n'existe pas, on retourne false
if( !existe_var($var_nom) ) return false;
// Mise à jour de la valeur
$sql = "DELETE FROM " . _TABLE_VARIABLES . " WHERE nom = '$var_nom'";
$resultat = mysql_query($sql);
// Renvoi de true si l'opération est effectuée
return true;
}
?>
Commentaire publié le vendredi 10 novembre 2006 à 16 h 47 par allprog Vous devez obligatoirement vous identifier en tant que membre pour participer à cette discussion.
Discutez et échangez sur ce thème dans nos forums PHP - SQL, PHP - SQL, ASP - SQL.
16/03/2010 à 17 h 03
base de données (0 réponse)
14/03/2010 à 19 h 04
configurer htaccess pour URL Rewriting (0 réponse)
14/03/2010 à 10 h 08
Afficher un code par le biai un d'un formulaire php (0 réponse)
12/03/2010 à 18 h 37
url rewriting sur un sous-domaine (5 réponses)
12/03/2010 à 08 h 53
Design html vers php... (6 réponses)