Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapytanie SQL wykonuje się podwójnie
Forum PHP.pl > Forum > Przedszkole
Konop857
Witam, mam taki fragment kodu :

  1. if($_GET['move'] == "up") {
  2. if(!empty($map[$logged_cyclops['pos_x']][$logged_cyclops['pos_y'] + 1][$logged_cyclops['pos_z']])){
  3. $pos = $logged_cyclops['pos_y'] + 1;
  4. $query = $SQL->prepare("UPDATE accounts SET pos_y = :pos WHERE login = :login");
  5. $query->bindValue(':pos', $pos, PDO::PARAM_STR);
  6. $query->bindValue(':login', $username, PDO::PARAM_STR);
  7. $query->execute();
  8. header("Refresh: 0; URL=?subtopic=play");
  9. }
  10. }


Problem jest w tym, że tabelka pos_y w bazie danych nie zwiększa się nie o 1, lecz o 2 sad.gif

Prosiłbym o wytłumaczenie co robię źle.

Pozdrawiam
CuteOne
  1. if(!empty($map[$logged_cyclops['pos_x']][$logged_cyclops['pos_y'] + 1][$logged_cyclops['pos_z']])){
  2. $pos = $logged_cyclops['pos_y'] + 1;
  3. echo $pos;
  4. die();

wstaw to i zobacz jaką wartość przyjmuje $pos
Konop857
1001, czyli tak jak powinno być, a jednak do bazy danych wprowadza 1002 ;s
Dox
a nie masz jakieś inkrementacji w bazie ustawionej ?
Konop857
Nie :s

Przed chwilą zauważyłem że zapytanie wykonuje się podwójnie w Chrome i Firefox a w Operze działa, w czym może tkwić problem?
Dodam że na całej stronie ani razu nie wystąpił podobny problem
muniekw
A poodświeżaj stronę i sprawdź co dostaniesz w bazie?
Konop857
W którym kierunku nie próbowałbym poruszyć postaci, pozycja zmienia się o 2 pola ;P
Umieściłem te samo zapytanie w innym pliku i wszystko jest ok, więc może coś zepsułem z określonym plikiem?
Tak wygląda cały plik
  1. <?php
  2. if($_SERVER['PHP_SELF'] != "/game.php") die();
  3. if($_GET['move'] == "up") {
  4. if(!empty($map[$logged_cyclops['pos_x']][$logged_cyclops['pos_y'] + 1][$logged_cyclops['pos_z']])){
  5. $pos = $logged_cyclops['pos_y'] + 1;
  6. $query = $SQL->prepare("UPDATE accounts SET pos_y = :pos WHERE login = :login");
  7. $query->bindValue(':pos', $pos, PDO::PARAM_STR);
  8. $query->bindValue(':login', $username, PDO::PARAM_STR);
  9. $query->execute();
  10. header("Refresh: 0; URL=?subtopic=play");
  11. }
  12. }
  13. if($_GET['move'] == "ups")
  14. if(!empty($map[$logged_cyclops['pos_x']][$logged_cyclops['pos_y'] + 1][$logged_cyclops['pos_z']])){
  15. $pos = $logged_cyclops['pos_y'] + 1;
  16. echo $pos;
  17. die();
  18.  
  19. }
  20.  
  21. if($_GET['move'] == "down") {
  22. if(!empty($map[$logged_cyclops['pos_x']][$logged_cyclops['pos_y'] - 1][$logged_cyclops['pos_z']])){
  23. $pos = $logged_cyclops['pos_y'] - 1;
  24. $query = $SQL->prepare("UPDATE accounts SET pos_y = :pos WHERE login = :login");
  25. $query->bindValue(':pos', $pos, PDO::PARAM_STR);
  26. $query->bindValue(':login', $username, PDO::PARAM_STR);
  27. $query->execute();
  28. header("Refresh: 0; URL=?subtopic=play");
  29. }
  30. }
  31.  
  32. if($_GET['move'] == "left"){
  33. if(!empty($map[$logged_cyclops['pos_x'] - 1][$logged_cyclops['pos_y']][$logged_cyclops['pos_z']])){
  34. $pos = $logged_cyclops['pos_x'] - 1;
  35. $query = $SQL->prepare("UPDATE accounts SET pos_x = :pos WHERE login = :login");
  36. $query->bindValue(':pos', $pos, PDO::PARAM_STR);
  37. $query->bindValue(':login', $username, PDO::PARAM_STR);
  38. $query->execute();
  39. header("Refresh: 0; URL=?subtopic=play");
  40. }
  41. }
  42. if($_GET['move'] == "right"){
  43. if(!empty($map[$logged_cyclops['pos_x'] + 1][$logged_cyclops['pos_y']][$logged_cyclops['pos_z']])){
  44. $pos = $logged_cyclops['pos_x'] + 1;
  45. $query = $SQL->prepare("UPDATE accounts SET pos_x = :pos WHERE login = :login");
  46. $query->bindValue(':pos', $pos, PDO::PARAM_STR);
  47. $query->bindValue(':login', $username, PDO::PARAM_STR);
  48. $query->execute();
  49. header("Refresh: 0; URL=?subtopic=play");
  50. }
  51. }
  52. echo "<div style='padding-left: 96px;'>";
  53. $number_of_x = 1;
  54. $number_of_y = 7;
  55. while($number_of_y > 0){
  56. if($number_of_x == 1) $FirstXStyle = "clear: both;"; else $FirstXStyle = "";
  57. switch($number_of_x){
  58. case "1":
  59. $x = $logged_cyclops['pos_x'] - 3;
  60. break;
  61.  
  62. case "2":
  63. $x = $logged_cyclops['pos_x'] - 2;
  64. break;
  65.  
  66. case "3":
  67. $x = $logged_cyclops['pos_x'] - 1;
  68. break;
  69.  
  70. case "4":
  71. $x = $logged_cyclops['pos_x'];
  72. break;
  73.  
  74. case "5":
  75. $x = $logged_cyclops['pos_x'] + 1;
  76. break;
  77.  
  78. case "6":
  79. $x = $logged_cyclops['pos_x'] + 2;
  80. break;
  81.  
  82. case "7":
  83. $x = $logged_cyclops['pos_x'] + 3;
  84. break;
  85. }
  86. switch($number_of_y){
  87. case "1":
  88. $y = $logged_cyclops['pos_y'] - 3;
  89. break;
  90.  
  91. case "2":
  92. $y = $logged_cyclops['pos_y'] - 2;
  93. break;
  94.  
  95. case "3":
  96. $y = $logged_cyclops['pos_y'] - 1;
  97. break;
  98.  
  99. case "4":
  100. $y = $logged_cyclops['pos_y'];
  101. break;
  102.  
  103. case "5":
  104. $y = $logged_cyclops['pos_y'] + 1;
  105. break;
  106.  
  107. case "6":
  108. $y = $logged_cyclops['pos_y'] + 2;
  109. break;
  110.  
  111. case "7":
  112. $y = $logged_cyclops['pos_y'] + 3;
  113. break;
  114. }
  115. $z = $logged_cyclops['pos_z'];
  116. $backgroundURL = $map[$x][$y][$z];
  117. if($number_of_y == 4 and $number_of_x == 4) $PlayerIMG = "<img src='system/game_images/player.png'/>"; else $PlayerIMG = "";
  118. echo "<div style='height: 64px; width: 64px; background-image: url(".$backgroundURL."); ".$FirstXStyle." float: left;'>".$PlayerIMG."</div>";
  119. $number_of_x++;
  120. if($number_of_x == 8){
  121. $number_of_y = $number_of_y - 1;
  122. $number_of_x = 1;
  123. }
  124. }
  125. echo "</div>";
  126. echo "<a href='?subtopic=play&move=up' style='position: absolute; left: 500px; top: 160px;'>UP</a>
  127. <a href='?subtopic=play&move=down' style='position: absolute; left: 500px; top: 590px;'>DOWN</a>
  128. <a href='?subtopic=play&move=left' style='position: absolute; left: 220px; top: 350px;'>LEFT</a>
  129. <a href='?subtopic=play&move=right' style='position: absolute; left: 770px; top: 350px;'>RIGHT</a>śźć";
  130. ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.