Javascript 如果使用setTimeout更改,请检查表
我想看看表中的值是否在循环中发生了变化。有一个60秒的计时器,当它计数时,它会不断检查表是否更改。代码如下:Javascript 如果使用setTimeout更改,请检查表,javascript,php,html,mysql,pdo,Javascript,Php,Html,Mysql,Pdo,我想看看表中的值是否在循环中发生了变化。有一个60秒的计时器,当它计数时,它会不断检查表是否更改。代码如下: setTimeout(function(x){return function(){ clabel.innerHTML = "Waiting " + x.toString() + "/ 60 seconds. Checker is "+ c; c = checkdb(); if(c == 2){ window.loca
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;
?>;
setTimeout(函数(x){return函数(){
clabel.innerHTML=“Waiting”+x.toString()+”/60秒。检查程序为“+c;
c=checkdb();
如果(c==2){
window.location=”http://www.google.com";
}
}}(i),1000*i);
函数checkdb(){
返回;
当我在计数器运行时更改表时,页面不会被重定向。即使我手动检查表时,表中的值也会发生更改。正如上面提到的@xNeyte,您试图将PHP代码放入Javascript容器。请记住Javascript是客户端,而PHP是服务器端。如果需要访问异步地从Javascript文件启动服务器,然后您应该看看Ajax,它确实提供了这种特性 这样,您的脚本将分为3部分:
如果javascript函数中有php,请查看ajax