我有一个在提交时更新的变量
$newenergy = $energy - 10;
$result = mysql_query("UPDATE users SET energy='$newenergy' WHERE id='".$_SESSION['user_id']."'")
or die(mysql_error());
在下一页上,如果我从数据库能量中回显变量,我会说旧的变量仍然存在,直到我再次刷新页面。有没有一种方法可以轻松绕过这个问题,或者我必须使用jquery?如果有,我该怎么办?
提前感谢
根据我对你的问题的理解,你现在有一个这样的代码(部分是伪代码):
$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;