Php 如何使用数据库中正在更改的新值更新javascript变量?

Php 如何使用数据库中正在更改的新值更新javascript变量?,php,javascript,mysql,database,Php,Javascript,Mysql,Database,我正在构建一个多人游戏,它使用mysql数据库存储玩家的坐标位置,然后用于显示对手模型 游戏在客户端使用一个javascript文件milktruck.js,然后在服务器端使用一个php文件xml_http_request.php 我的问题发生在尝试获取存储对手坐标信息的javascript变量时,该变量会随着数据库信息的更新而更新 javascript变量在php文件中声明,代码如下: echo "<script> var lla0php = $lla0; </scrip

我正在构建一个多人游戏,它使用mysql数据库存储玩家的坐标位置,然后用于显示对手模型

游戏在客户端使用一个javascript文件milktruck.js,然后在服务器端使用一个php文件xml_http_request.php

我的问题发生在尝试获取存储对手坐标信息的javascript变量时,该变量会随着数据库信息的更新而更新

javascript变量在php文件中声明,代码如下:

  echo "<script> var lla0php = $lla0; </script>";
  echo "<script> var lla1php = $lla1; </script>";
  echo "<script> var lla2php = $lla2; </script>";

<>我如何用新的数据库信息连续更新这些变量?< /p> < p> Web模型是无状态的,要做到这一点,你必须想出一个克服这个问题的方法,并且可能考虑编写一个抽象层来为你处理这个问题。p>
您要么需要持续轮询,要么需要研究其他基于web的解决方案,这些解决方案允许服务器将数据推回到客户端,并保持开放的通信渠道。这方面的一个例子是浏览器中的Google Talk或FaceBook聊天。您需要做的是使用ajax


function requestCoord(){
    $.ajax({
        url: "your url",
        dataType : "json",
        type: "GET",
        success(val){
            //get your php script to echo out a json string 
                        //and it will be in val
            window['lla0_2']= val.lla0php;
            window['lla1_2']= val.lla1php;
            window['lla2_2']= val.lla2php;

        }
    });
}

setInterval(requestCoord, 1000);
使现代化
你可以用

是的,我刚刚注意到well@user671891:@locrizak提供了一个很好的基本示例,说明了我在持续轮询更新中提到的内容。在此示例中,更新频率为1秒。你需要决定这是否足够。而且,使用AJAX——可以说,它不是一个持续开放的通信通道,您每秒只能发出这么多请求。如果你需要模拟运动,你可能还需要在陈旧数据和新数据之间进行插值,以提供运动的印象,而不是一个实体敌人传送到他们的新位置。@KTF是的,这没有意义,我有一个大脑屁。我认为你应该研究html5套接字。我在回答中贴了这个链接。有了ajax解决方案,你能告诉我如何一步一步地实现它吗。您提供的代码是否在javascript文件中,然后在tick函数中调用requestCoord?如何让我的php脚本回显json字符串?我是否需要将任何文件添加到宿主服务器以允许ajax运行?当你提到html5套接字时,它们会是更好的解决方案吗,或者上述ajax解决方案不起作用吗?@user671891 html5套接字将是一种更好的方法来实现这一点,因为它是内置的,您不必每秒都获取值,或者无论您多么频繁地想要获取值。我没有任何使用html5套接字的经验,但提供的链接有足够的信息让您了解您的应用程序方法

function requestCoord(){
    $.ajax({
        url: "your url",
        dataType : "json",
        type: "GET",
        success(val){
            //get your php script to echo out a json string 
                        //and it will be in val
            window['lla0_2']= val.lla0php;
            window['lla1_2']= val.lla1php;
            window['lla2_2']= val.lla2php;

        }
    });
}

setInterval(requestCoord, 1000);