2012-11-28 27 views
2

我想顯示計數器.. 我正在寫一個我們正在更新數據庫記錄的地方。在php中執行什麼計數器

我在這裏打印計數器值 -

  flush(); 
      echo "<hr><div align=\"center\">"; 
      echo 'loading ..... '.$counter; //echo "</br>"; 
      echo "</div>"; 
      $counter++; 

但它在下一行的打印值再次再次..

enter image description here

但我希望值,這樣
更新 enter image description here

這一個會不斷變化..

幫我出或指導我..

回答

3

你在做什麼這裏產生 HTML;一旦寫完,就沒有「收回」。

爲了讓您的計數器「更新」,您將需要執行所謂的文檔對象模型操作(DOM確實是您網站的所有組成部分,當然包括所有HTML標籤) 。這通常是用JavaScript完成的,jQuery可以進一步簡化任務。此外,您的數據庫插入將會很快(幾分之一秒)發生,因此實際上沒有理由在您的用戶面前「實時」顯示更新的計數器。

如果您確實堅持讓您的網站上的信息在執行PHP時動態更新,則需要查看AJAX。

+0

感謝您的指導,我會檢查它.. +1 –

1

你必須使用Javascript才能做到這一點。你可以使用類似:

flush(); 
    echo "<hr><div align=\"center\">"; 
    echo 'loading ..... '. '<span class = "toDecr">' . $counter . '</span>'; 
    echo "</div>"; 
    $counter++; 

然後使用jQuery做這個(jQuery是不是強制性的,你能做到這一點原始的Javascript,而jQuery的肯定是更容易恕我直言)創建一個腳本:

$('.toDecr').html(parseInt($('.toDecr').html(), 10) - 1) 

我不知道你想在這些遞減之間等待的延遲,所以我把它放在你的空白處(如果你想每秒都這樣做,那麼就使用一個循環,或者如果它真的依賴於PHP的執行, Ajax是要走的路)。

+0

如果我不想使用jQuery ...我的值正在服務器響應時更新..我想在客戶端顯示這些值因爲他們加載.. –

+1

所以你必須去AJAX;) – 2012-11-28 08:18:53

+0

+1爲你的幫助... –