Update mysql, petit problème.

aneantisseur Messages postés 411 Statut Membre -  
aneantisseur Messages postés 411 Statut Membre -
Bonjour, je suis en train de créer un jeu en php. Donc avec de la vie, de la mana, etc. Logiquement, quand on s'equipe d'un équipement, les stats sont ajoutés aux stats de base. Par exemple, l'equipement ajoute 5 en vie, la vie de base étant de 10, on doit additionner le tout et l'inscrire dans le champ vie de la DB. J'ai fait une fonction pour ca :
function addition($vie, $mana, $force, $vitesse, $defense)
{
$vie_base = mysql_query('SELECT vie FROM avatars WHERE pseudo=\''.$_SESSION['pseudo'].'\'');
$vie_array = mysql_fetch_array($vie_base);
$vie_update = $vie_array['vie'] + $vie;
mysql_query('UPDATE avatars SET vie='.$vie_update.'');

$mana_base = mysql_query('SELECT mana FROM avatars WHERE pseudo=\''.$_SESSION['pseudo'].'\'');
$mana_array = mysql_fetch_array($mana_base);
$mana_update = $mana_array['mana'] + $mana;
mysql_query('UPDATE avatars SET mana='.$mana_update.'');

$force_base = mysql_query('SELECT force FROM avatars WHERE pseudo=\''.$_SESSION['pseudo'].'\'');
$force_array = mysql_fetch_array($force_base);
$force_update = $force_array['force'] + $force;
mysql_query('UPDATE avatars SET force='.$force_update.'');

$vitesse_base = mysql_query('SELECT vitesse FROM avatars WHERE pseudo=\''.$_SESSION['pseudo'].'\'');
$vitesse_array = mysql_fetch_array($vitesse_base);
$vitesse_update = $vie_array['vitesse'] + $vitesse;
mysql_query('UPDATE avatars SET vitesse='.$vitesse_update.'');

$defense_base = mysql_query('SELECT defense FROM avatars WHERE pseudo=\''.$_SESSION['pseudo'].'\'');
$defense_array = mysql_fetch_array($defense_base);
$defense_update = $defense_array['defense'] + $defense;
mysql_query('UPDATE avatars SET defense='.$defense_update.'');
}

Mais, parce qu'il y en a toujours un, a chaque fois que l'on actualise la page, la fonction fait effet et donc, dans l'exemple précédent, les 5 points de vie sont toujours ajoutés. Donc les petits malins actualiseront toujours la page pour avoir des points de vie élevés.
Ma question c'est : Comment faire pour limiter l'action de la fonction update à une fois par équipement équipé ?

Un grand défi en somme ^^

Merci :)
A voir également:

28 réponses

dodoecchi Messages postés 480 Statut Membre 29
 
quand tu veux
0
dodoecchi Messages postés 480 Statut Membre 29
 
théoriquement je suis connecté donc si tu me vois pas dis le moi
c'est que j'utilise pas WLM
0
aneantisseur Messages postés 411 Statut Membre 18
 
J'te vois pas ^^
0
dodoecchi Messages postés 480 Statut Membre 29
 
dodoecchi arobase hotmail.com ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
aneantisseur Messages postés 411 Statut Membre 18
 
Merde j'ai mis .fr X)
0
dodoecchi Messages postés 480 Statut Membre 29
 
miiiince je crois que j'ai fait "refuser" :x
essaye de dire un truc
0
aneantisseur Messages postés 411 Statut Membre 18
 
J'te re-rentre ^^
0
aneantisseur Messages postés 411 Statut Membre 18
 
Voilà, t'est rentré. Mais je dois aller manger.
0