如何强制浏览器读取更新的数据库信息?

时间:2013-06-03 03:21:20

标签: php mysql database

如果之前已经回答过这个问题,请道歉,但我不确定如何轻松地描述它......

我正在使用PHP和MySql编写一个系统,允许登录的用户建立一个运动队。我有一个系统设置,用户在玩家“出价”,并且该玩家被添加到他们的名单中。写入数据库的代码非常简单,工作正常:

mysql_query("UPDATE bidpool SET BidExpires='$newbidexpires' WHERE Player='$player'");
mysql_query("UPDATE bidpool SET CurrentBid='$bid' WHERE Player='$player'");
mysql_query("UPDATE bidpool SET TeamName='$NewTeamName' WHERE Player='$player'");

当我检查数据库时,输入的信息是正确的。

当我加载另一个页面时,团队的更新名单所在的位置,这是我使用的代码:

echo "<table>";
$result = mysql_query("SELECT * FROM bidpool WHERE TeamName='$teamname'");

$playerbid = 0;
$i = 0;

$num = mysql_numrows($result);

while ($i < $num) {

    $playerroster = mysql_result($result, $i, "Player");
    $playerbid = mysql_result($result, $i, "CurrentBid");
    $playerexpires = mysql_result($result, $i, "BidExpires");

    IF ($time > $playerexpires) {

        $playerexpires = "BID WON";
    }

    echo "<tr> 
                    <td width='30%'>$playerroster</td>
                    <td width='30%'>$playerbid</td>
                    <td width='30%'>$playerexpires</td>
                    </tr>";
    $i++;
}
echo "</table">;

问题?当有新的出价时,一切都写入数据库就好了。当我在Firefox中加载名单页面时,它会显示数据库中的名单,即使最近的更改也会在几秒钟后显示。

但是,当我在Safari和Chrome中加载它时,它会显示旧版本的名单。即使我清除浏览器缓存,重置浏览器,甚至重新启动计算机,它仍然会显示数据库中的旧版本。

这种类型的系统,多个用户在几天内对玩家进行竞价,要求玩家尽快查看最近的出价及其最近的名单变更。但如果浏览器不合作,它将无效。

如果它有任何区别,该网站将在WordPress上运行。

你觉得我在这里做错了什么?为什么这个系统在一个浏览器中完美运行,而不是另一个浏览器?

非常感谢。

1 个答案:

答案 0 :(得分:0)

这个问题肯定是一个缓存问题;您可以通过插入一些额外的URL参数来测试它是客户端还是Wordpress问题。

尝试使用?extraRandomParameter = changeThisValueEachTime点击页面。

如果有效,那就是客户的事情;否则,您将需要更具体地调查Wordpress如何缓存(以及如何解决它)。