26-02-2017, 05:32 PM
C'est l'essentiel, si t'as réussi à comprendre le principe du ON DUPLICATE KEY UPDATE.
Après, comme dans toute approche où on extrait les données du SQL pour calculer dessus avant de les renvoyer dedans, tu finiras peut-être par avoir des emmerdes dans les accès concurrents aux données, type "que se passe-t-il si ce script est lancé deux fois par deux joueurs différents? Et deux fois par le même joueur? Si un des avion change pendant que PHP est dans sa boucle de calcul?". Pour un jeu, osef un peu et cela se résout avec un SELECT FOR UPDATE ( https://dev.mysql.com/doc/refman/5.7/en/...reads.html ) mais professionnellement, c'est la raison pour laquelle je n'aime pas cette façon de sortir les données du SQL pour calculer dessus avant de les y réinjecter.
Après, comme dans toute approche où on extrait les données du SQL pour calculer dessus avant de les renvoyer dedans, tu finiras peut-être par avoir des emmerdes dans les accès concurrents aux données, type "que se passe-t-il si ce script est lancé deux fois par deux joueurs différents? Et deux fois par le même joueur? Si un des avion change pendant que PHP est dans sa boucle de calcul?". Pour un jeu, osef un peu et cela se résout avec un SELECT FOR UPDATE ( https://dev.mysql.com/doc/refman/5.7/en/...reads.html ) mais professionnellement, c'est la raison pour laquelle je n'aime pas cette façon de sortir les données du SQL pour calculer dessus avant de les y réinjecter.