Update mysql, petit problème.

Fermé
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 - 7 févr. 2010 à 11:49
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 - 7 févr. 2010 à 20:12
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 :)

28 réponses

dodoecchi Messages postés 453 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 35
7 févr. 2010 à 19:09
quand tu veux
0
dodoecchi Messages postés 453 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 35
7 févr. 2010 à 20:02
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 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 17
7 févr. 2010 à 20:05
J'te vois pas ^^
0
dodoecchi Messages postés 453 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 35
7 févr. 2010 à 20:07
dodoecchi arobase hotmail.com ?
0

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

Posez votre question
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 17
7 févr. 2010 à 20:07
Merde j'ai mis .fr X)
0
dodoecchi Messages postés 453 Date d'inscription samedi 9 septembre 2006 Statut Membre Dernière intervention 26 avril 2012 35
7 févr. 2010 à 20:09
miiiince je crois que j'ai fait "refuser" :x
essaye de dire un truc
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 17
7 févr. 2010 à 20:10
J'te re-rentre ^^
0
aneantisseur Messages postés 384 Date d'inscription dimanche 8 mars 2009 Statut Membre Dernière intervention 13 juillet 2018 17
7 févr. 2010 à 20:12
Voilà, t'est rentré. Mais je dois aller manger.
0