Home > database >  How can I send data to MySQL server on JavaScript if statement
How can I send data to MySQL server on JavaScript if statement

Time:03-03

I'm trying to make a snake game within my website, and have been running into the issue of not being able to send score and user data (for a leaderboard) to my SQL database. I'm really new to web dev, so I'm not sure if maybe there's a super simple fix I just keep overlooking. Here's the part of the game's JavaScript code block that I am focusing on:

      // snake occupies same space as a body part. reset game
      if (cell.x === snake.cells[i].x && cell.y === snake.cells[i].y) {
        
        
        //Ask for new user if one isn't registered
        if (document.getElementById("userV").innerHTML == "User: ____")
        {
            
        document.getElementById("userData").innerHTML = window. prompt("User:");
        document.getElementById("userVisible").innerHTML = "User: "   
        document.getElementById("userData").innerHTML;   
            
        }
        
        /*
        *Here is where I need to send user and score data to snake_scores table
        */
        
        snake.x = 160;
        snake.y = 160;
        snake.cells = [];
        snake.maxCells = 4;
        snake.dx = grid;
        snake.dy = 0;
        snake.score = 0;
        
        document.getElementById("scoreData").innerHTML = snake.score;
        document.getElementById("scoreVisible").innerHTML = "Score: "   snake.score;
        
        apple.x = getRandomInt(0, 25) * grid;
        apple.y = getRandomInt(0, 25) * grid;
      }

So overall, my issue is that I can't figure out how to send these JS values through PHP and to my SQL server.

CodePudding user response:

I'll make some assumptions about the game page itself, given that you probably don't want the page to refresh during play a good solution would be Ajax (Asynchronous JavaScript And XML). Essentially this is making a post request in the background to your server without reloading the page.

I find jQuery pretty easy to use: https://api.jquery.com/jQuery.post/

$.ajax({
  type: "POST",
  url: url,
  data: data,
  success: success,
  dataType: dataType
});

So using Ajax to post to a url that is expecting the information to then update server side you would access this in php using something similar to the following.

$leaderboard = $_POST['leaderboard']

Hope this points you in the right direction at least. Good luck on the game.

  • Related