【问题标题】:PHP variable update (live)PHP 变量更新(实时)
【发布时间】:2016-01-09 13:01:00
【问题描述】:

我有一个在提交时更新的变量

$newenergy = $energy - 10;

$result = mysql_query("UPDATE users SET energy='$newenergy' WHERE id='".$_SESSION['user_id']."'")
or die(mysql_error());

在下一页上,如果我从数据库能量中回显变量,我会说旧变量仍然存在,直到我再次刷新页面是否有办法轻松解决这个问题,或者我必须使用 jquery,如果是这样我该怎么办?

提前致谢

【问题讨论】:

    标签: php jquery database variables


    【解决方案1】:

    根据我对您问题的理解,您目前有这样的代码(部分是伪代码):

    $energyQuery = mysql_query(/** ... querying for current energy value **/);
    $energy = $energyQuery->fetch("energy");
    
    if (isSubmit()) {
        $newEnergy = $energy - 10;
        mysql_query(/** Update energy to $newEnergy i database **/);
    }
    
    echo $energy;
    

    现在您想知道为什么最后一行中的echo 会打印出旧值;只有在再次刷新页面后,它才会显示更新的页面 - 我正确吗?

    解决这个问题的一种简单方法是不创建$newEnergy 变量,而只是覆盖$energy 变量(只要您不再需要更新后的原始能量值)。

    $energy = $energy - 10; //Or simply: $energy -= 10;
    

    【讨论】:

    • 但是比如说我有另一个页面获取变量,然后我实际上需要变量,因为它没有编辑它有没有办法在它更新后进入?
    • 您的意思是您正在更新PageA 上的$energy 并将其显示在PageB 上,但想要通知PageB 关于PageA 的更改而不刷新它?
    • 是的,基本上我希望它是一种实时更新,所以如果它在数据库中被更改,它会显示它的新变量
    • 在这种情况下,您应该使用 JavaScript WebSockets。通过这种方式,您可以在服务器上更新重要值时向客户端发送更新通知。互联网上有很多关于它的教程:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多