繁体   English   中英

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

[英]How do I force a browser to read updated database information?

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

我正在使用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上运行。

您认为我在这里做错了什么? 为什么该系统可以在一个浏览器上完美运行,但在另一个浏览器上却不能正常运行?

谢谢你

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

尝试使用?extraRandomParameter = changeThisValueEachTime访问页面。

如果可行,那是客户的事。 否则,您将不得不更具体地研究Wordpress缓存的方式(以及如何解决)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM