Bonjour,
J'ai un problème de décalage entre les données affichées et celles qui sont stockées dans la base MySQL.
J'ai créé un petit jeu dans lequel on peut se déplacer en utilisant des bouton, dont le code est :
La requête est faite comme ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4<form action="<?php echo $editFormAction; ?>" method="post" name="AllerEnBas" id="AllerEnBas"><br /> <input type="hidden" name="Allerenbas" value="AllerEnBas" /> <input type="submit" value="Aller en bas" /> </form>
$row_Recordset1['LocalY'] est la position sur l'axe Y du joueur, ça marche sans problème.
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
16
17 $localYmoinsun = $row_Recordset1['LocalY']-1 ; if ((isset($_POST["Allerenbas"])) && ($_POST["Allerenbas"] == "AllerEnBas")) { $updateSQL = sprintf("UPDATE Personnages SET LocalY=%s WHERE Nom=%s", GetSQLValueString($localYmoinsun, "int"), GetSQLValueString($row_Recordset1['Nom'], "text")); mysql_select_db($database_iloled, $iloled); $Result1 = mysql_query($updateSQL, $iloled) or die(mysql_error()); $updateGoTo = "http://www.luxobscura.org/map.php"; if (isset($_SERVER['QUERY_STRING'])) { $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?"; $updateGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $updateGoTo)); }
J'affiche la position avec:
Code : Sélectionner tout - Visualiser dans une fenêtre à part <?php echo $row_Recordset1['LocalY']; ?>
Le problème est que si on clique sur un bouton, la requête MySQL est faite, mais la valeur affichée sur la page ne change pas (elle change dans la base MySQL).
Si on reclique sur un bouton, la valeur qui aurait dû s'afficher la dernière fois s'affiche, mais pas la nouvelle position.
Cela créé un décalage plutôt problématique.
Sauriez vous comment l'enlever?
Partager