Изменить Javascript переменную от PHP - PullRequest
0 голосов
/ 07 мая 2020

у меня действительно проблема ... я пытаюсь создать небольшую игру с Javascript, до сих пор игра работает ... теперь я хочу сохранить 2 переменные в базе данных mysql и загрузить их обратно в игру

Сохранение в базе данных работает хорошо, и загрузка их тоже работает. Я могу прочитать значения в консоли ... но я действительно не знаю, как с ними сейчас работать ... все не работает ... пожалуйста, помогите мне ... я действительно не в этом и хочу изучить его ... здесь мой код .. * " игровой автомат". Я хочу сохранить количество вращений за все время ... и за все время выигрышей

при нажатии кнопки вращения я считаю +1 к моей переменной "score" .. при выигрыше +1 к "близнецам" Оба успешно сохраняются в базе данных mysqli причина javascript только на стороне клиента ...

теперь мне просто нужно загрузить переменную score и twins при загрузке этого индекса. html .. и после каждого вращения ..

я вижу обе переменные в Console.log, это отлично работает ... но я действительно не знаю, как их использовать, и ваш ответ мне не помог ... не удалось заставить его работать ...

Думаю, мне нужно отказаться ...

Индекс. html


<script> openUserTimes(); var score = "" var twins = "" spins.innerHTML = "Alltime Spins : " + score wins.innerHTML = "Alltime Wins : " + twins var doing = false; let status = document.getElementById("status") var info = true; function openUserTimes(username) { $.post( "returndata.php", { name: "Slot" }, function(response) { var score = response.amount var twins = response.times console.log('Retreived score:'+ response.amount ); //<<<<<<<<< i can see the right database entry.. console.log('Retreived twins:'+ response.times ); } //<<<<<<<<< works too.. ); } function saveUserTimes() { $.post("savesettings.php", { name: "Slot", amount: score, times: twins, }, function(data,status){ $( "#saveWarningText" ).fadeIn(100); setTimeout(function(){ $( "#saveWarningText" ).fadeOut(100); }, 3000); }); } .... .... </script>

мой возвращаемые данные. php

      .....$conn = new mysqli($servername, $username, $password, $dbname);
        // Check connection
        if ($conn->connect_error) {
            die("Connection failed: " . $conn->connect_error);
        }


        $name = mysqli_real_escape_string($conn, $_POST['name']);
        $amount = mysqli_real_escape_string($conn, $_POST['amount']);
        $times = mysqli_real_escape_string($conn, $_POST['times']);

        $sql = 'SELECT * FROM usertimes WHERE name ="'. $name. '"';

        $result = $conn->query($sql);
        $response = array();

        if ($result->num_rows > 0) {
            while($row = $result->fetch_assoc()) {
                $response['name'] = $row["name"];
               $response['amount'] = $row["amount"];
                $response['times'] = $row["times"];
            }

        echo json_encode($response);

        } else {
            echo "  0 results";
        }

Извините за мой плохой английский. .

1 Ответ

0 голосов
/ 07 мая 2020

Вам необходимо обновить ваши глобальные переменные. если вы объявляете новую переменную с ключом «var», эти значения не могут обновлять ваши переменные в глобальной области.

Это очень простой c пример того, как вы можете взаимодействовать с вашим javascript. Вам нужна библиотека JQuery, но я считаю, что вы уже импортировали.

html

<button id="mybutton">
Cliquer ici
</button>

<br /><br />

Score :
<div id="score" style="font-size:16px; color:#009900;">
0
</div> 

javascript + jquery

$(document).ready(function() {

   var game1 = Object.create(myGame);
   game1.init();


   $('#mybutton').on('click', function(){
      game1.play(10);
   });

});



const myGame = {

   score: 0,
   twins: "",

   init: function() {
      this.score = 0;
   },

   play: function(score) {
      this.score += score;
      this.updateScore();
   },
   updateScore: function(){
      $('#score').html(this.score);
   }
}

Я сделал для вас jsfiddle: https://jsfiddle.net/3d96txma/1/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...