2012-03-26 14 views
1

1から無限にカウントするカウンタを作成し、ページをリフレッシュすると停止しません。私は、データベース内のいくつかの件のデータを更新するために、AJAXを使用していると、これがうまく機能していないが
...
私はこの問題は、Ajaxのファイルがカウンタphp-jsがデータベース内で更新されない

HTML実行dosn't thetだと思う:

<html> 
<head> 
<?php include "config.php"; ?> 
<script type="text/javascript"> 
function createXMLHttpRequest(){ 
    var ua; 
    if(window.XMLHttpRequest) { 
     try { 
      ua = new XMLHttpRequest(); 
     }catch(e) { 
      ua = false; 
     } 
    }else if(window.ActiveXObject) { 
     try{ 
      ua = new ActiveXObject("Microsoft.XMLHTTP"); 
     }catch(e) { 
      ua = false; 
     }} 
return ua;} 
var some = createXMLHttpRequest(c); 
function some1(){ 
    some.open('GET', 'Untitled_4.php?value='+c); 
    some.onreadystatechange = hand; 
} 
function hand() { 
if(some.readyState == 4) 
{  
     some.send(null); 
} 
} 
var c= 
<?php 

    $c= mysql_fetch_array(mysql_query("SELECT * FROM `clock` WHERE `id`=1")); 
    $l=time()-$c['time']; 
    $a=$l/1; 
    $a=floor($a); 
    $a=$a+$c['value']; 
    echo $a; 

?>; 
var t; 
var timer_is_on=0; 

function timedCount() 
{ 
document.getElementById('txt').innerHTML=c; 
c=c+1; 
t=setTimeout("timedCount()",1000); 
} 

function doTimer() 
{ 
if (!timer_is_on) 
    { 
    timer_is_on=1; 
    timedCount(); 
    } 
} 
</script> 
</head> 

<body onunload="some1(c)" onload="doTimer()"> 
<form> 
<div id="txt" ></div> 
</form> 
</body> 
</html> 

AJAXファイル:

<?php 
include "config.php"; 
$value=$_GET['value']; 
mysql_query("UPDATE `clock` SET `time`=".time().",`value`= $value WHERE `id` = 1 "); 
echo "1"; 
?> 
+0

こんにちは@ asafg8、「うまくいきません」についての詳細情報を提供すれば、より簡単にお手伝いします。あなたが期待している行動は何ですか?実際に何が起こっていますか?あなたはどんなエラーを出していますか? – Dhaust

+0

ajaxファイルを実行しません。 – asafg8

答えて

0

readystateはしませんXMLHttpRequestを送信しない限り更新できません。ページがアンロードしたときにリクエストを送信するのであなたが本当にonreadystatechangedハンドラを必要としません

function some1(){ 
    some.open('GET', 'Untitled_4.php?value='+c); 
    some.send(null); 
} 

との変更を処理するのに十分な時間がありません。 some1次のバージョンでは、あなたの問題を解決する必要があります私はXMLHttpRequestの状態を推測します。

関連する問題