簡體   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