(12-02-2016, 03:05 PM)Xenos a écrit : newPoints te donne les points à l'instant de la query, donc ce n'est pas la donnée à mettre à jour (même s'il se peut que MySQL sache "rétro-pédaler" et convertir ce UPDATE en un UPDATE de la table sous-jascente, mais je ne parierai pas trop dessus, surtout que la date n'a pas été mise à jour elle).
C'est là où je doute de la dénomination "oldPoints" (mieux vaudrait dire "pointsADateT" et remplacer datePoints par "dateT")UPDATE `joueur` SET `oldPoints`=`newPoints` - 1, `datePoints`=NOW() WHERE joueur.id =1
D'ailleurs, la mise à jour du datePoints pourrait peut-être même se faire en TRIGGER (à voir). Dans l'idée, le TRIGGER se déclanche quand le champ "pointsADateT" est mise à jour, et ce trigger va mettre la date courante (NOW()) dans le champ "dateT".
Voilà le détail du système dans un article dédié
Wow ! Merci beaucoup pour ces explications !
Vachement intéressant, je vais tester et voir tout cela des que possible
En tout cas encore un grand merci !
P.S / H.S : Dites-donc, je t'en fait faire des articles à ton blog ah ah ! :p * joke *
H.S 2 : Très bonne explication également dans le lien
H.S 3 : Si je puis me permettre :$ points=currentPoints - 4 <=> points = 30 - 4 <=> points = 26 (a) et non 27 :p