Salut à tous...
J'ai créé une fonction que voici:
function modificateur($valeur)
{
if ($valeur == 3)
{
$_SESSION['value'] = -4;
}
elseif (($valeur == 4) or ($valeur == 5))
{
$_SESSION['value'] = -3;
}
elseif (($valeur == 6) or ($valeur == 7))
{
$_SESSION['value'] = -2;
}
elseif (($valeur == 8) or ($valeur == 9))
{
$_SESSION['value'] = -1;
}
elseif (($valeur == 10) or ($valeur == 11))
{
$_SESSION['value'] = 0;
}
elseif (($valeur == 12) or ($valeur == 13))
{
$_SESSION['value'] = 1;
}
elseif (($valeur == 14) or ($valeur == 15))
{
$_SESSION['value'] = 2;
}
elseif (($valeur == 16) or ($valeur == 17))
{
$_SESSION['value'] = 3;
}
elseif ($valeur == 18)
{
$_SESSION['value'] = 4;
}
}
(Ne me dites pas utilise switch et utilise autre chose que $_SESSION, j'ai essayé pas mal de code différent et il n'y a que celui-ci qui a fonctionné!!!)
En dessous il y a ça:
modificateur($_POST['force']);
mysql_query ('UPDATE `heros` SET force="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['dex']);
mysql_query ('UPDATE `heros` SET dex="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['con']);
mysql_query ('UPDATE `heros` SET con="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['int']);
mysql_query ('UPDATE `heros` SET int="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['sag']);
mysql_query ('UPDATE `heros` SET sag="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
modificateur($_POST['cha']);
mysql_query ('UPDATE `heros` SET cha="'.$_SESSION['value'].'" WHERE pseudo="'.$_SESSION['pseudo'].'"');
(appel à la fonction puis inscription dans la BDD)...
Seulement allez savoir pourquoi, seul "force" et "int" restent inchangés dans la BDD....pourquoi?????????? :-o :-o
AIDEZ MOI SVPPPPP :-(
Merci ;-)
FORCE et INT sont des mots clefs de mysql.
Je te conseille donc de proteger le noms des champs sur toutes tes requêtes, celà t'évitera ce genre de problème.
ex : mysql_query ('UPDATE `heros` SET `int`="'.$_SESSION['value'].'" WHERE `pseudo`="'.$_SESSION['pseudo'].'"');
à oui en effet, c'est bien ça...merci....
Pour switch, je sais bien que ça aurait été mieu mais dd'une part ça m'oblige a faire un code plus long (sauf si tu me donne une astuce pour faire les "$valeur == 4 or $valeur == 5" dans la case)