2015-05-19 55 views
-1

我想看看錶中的值是否在循環中發生了變化。有一個60秒的計時器,而它的計數,它不斷檢查表是否改變。這裏是代碼:檢查表,如果使用setTimeout更改

setTimeout(function(x){return function(){ 
     clabel.innerHTML = "Waiting " + x.toString() + "/ 60 seconds. Checker is "+ c; 
     c = checkdb(); 
     if(c == 2){ 
      window.location = "http://www.google.com"; 
     } 
     };}(i), 1000*i); 
function checkdb(){ 
    return <?php 
      $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password); 
      $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 
      $stmt = $conn->prepare('SELECT * FROM game'); 
      $stmt->execute(array('gameID' => $gameID)); 
      $check->execute(); 
      $r = $check->fetchColumn(1); 
      $conn = null; 
      echo $r; 
    ?>; 

當我改變表時,計數器正在進行,頁面不會重定向。即使當我手動檢查表的值在那裏改變。

+4

你的PHP中的JavaScript函數,檢查在阿賈克斯 – xNeyte

回答

0

正如上面提到的@xNeyte,您試圖將PHP代碼放入Javascript容器中。請記住,Javascript是客戶端,而PHP是服務器端。如果您需要從JavaScript文件訪問異步服務器,那麼您應該看看提供這種功能的Ajax。

這樣,你的腳本將在3個部分可分爲:

  1. 基本PHP腳本,顯示你的JavaScript

  2. 將使用Ajax進行異步JavaScript部分。請求 另一個PHP文件

  3. 另一個PHP腳本,將返回你所需要的(你已經 把你的最後一個塊)