2012-03-26 6 views
1

Ich habe einen Zähler gemacht, der von eins bis unendlich zählt und wenn ich die Seite aktualisiere, hört es nicht auf.
aber ich Ajax verwendet haben einige Daten in der Datenbank zu aktualisieren und diese Arbeit ist nicht gut ...
denke ich, das Problem Thet ist die Ajax-DateiCounter php-js wird nicht in der Datenbank aktualisiert

laufen dosn't

HTML:

<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 Datei:

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

Hi @ asafg8, es wird einfacher sein, Ihnen zu helfen, wenn Sie mehr Informationen darüber geben, was "nicht gut funktioniert". Was ist das Verhalten, das du erwartest? Was passiert eigentlich? Welche Fehler bekommst du? usw. – Dhaust

+0

Es führt die Ajax-Datei nicht aus – asafg8

Antwort

0

Die readystate wird nicht Update, es sei denn, Sie senden die XMLHttpRequest. Die folgende Version von some1 sollte Ihr Problem beheben:

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

Sie brauchen nicht wirklich die onreadystatechanged Handler, weil Sie die Anfrage senden, wenn die Seite entladen, und es wird nicht genug Zeit, um eine Änderung der zu handhaben Ich denke, XMLHttpRequest-Status.

Verwandte Themen