Bonjour, j'ai actuellement un petit problème d'addition de données dans ma base SQL. La structure de mon code me semble pourtant correcte je ne comprends pas réelement mon erreur...
Tout d'abord voici mon code :
Ce que c'est sensé faire : Envoyer x points à un utilisateur y
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 if($pts_t > $pts) { echo stripslashes('<div class="alert alert-danger alert-dismissable">Vous n\'avez pas assez de points.</div>'); } else { $newbalance1 = $pts-$pts_t; $sql = "UPDATE {$cfg_prefix}players_stats SET Cheque='$newbalance1' WHERE Name='$pseudo'"; $result = mysql_query($sql); $req2 = mysql_fetch_array(mysql_query("SELECT * FROM `players_stats` WHERE `Name`='$player'")); $player_old = $req2['Cheque']; $newbalance2 = $player_old+$pts_t; $sql2 = "UPDATE {$cfg_prefix}players_stats SET Cheque='$newbalance2' WHERE Name='$player'"; $result2 = mysql_query($sql2); echo stripslashes('<div class="alert alert-success alert-dismissable">Vous avez transféré <b>'.$pts_t.'</b> point(s) à <b>'.$player.'</b>.</div>'); }
Le problème (ce que ça fait vraiment) : le nombre de points envoyé est bien soustrait mais celui qui est sensé recevoir les points ne les reçoit pas vraiment. En fait $player_old ne s'additionne pas avec $pts_t mais la donnée $pts_t remplace la donnée .
Exemple : Je décide d'envoyer 5 points à quelqu'un qui en a deja deux.
- Mon compte est bien soustrait des 5 points
- Normalement, mon ami en a 2, je lui en envois 5, donc 2 + 5 = 7
- Sauf qu'ici, les 2 points qu'il a déjà sont remplacés par les 5 que j'envois, il n'a donc que 5
J'en appel donc à vous, si quelqu'un voit d'ou vient le probleme ? J'ai retourné le probleme dans tout les sens et je ne comprends pas d'ou ça peut venir ...
Merci d'avance![]()
Partager