mysql_result in Java innerHTML reloadet nicht

dee123

Grünschnabel
Hi,
hab auf der Homepage unseres Vereins einen vorgefertigten Chatschnipsel installiert und möchte nun, daß er bei "derzeit im Chat: "die Anzahl der User im Chat alle 5 sekunden aktualisiert.

Die Anzahl der Chatuser hole ich aus der MySQL-Datenbank per mysql_result....

Ich bin Neuling in Sachen Java und hab mir mühevoll folgenden Code zusammengebastelt:
Code:
<?PHP
	include('connect.php'); //Verbindung mit Datenbank wird hergestellt...
?>

<script type="text/javascript"> 
window.setInterval("imChat()", 5000);
function imChat(){ 
    document.getElementById('zeig').innerHTML=<?PHP ECHO mysql_result((mysql_query('SELECT COUNT(chat_id) FROM  chat_useronline')), 0); ?>;
} 
</script> 
<

Die Ausgabe erfolgt dann über

Code:
<p id='zeig'></p>

Soweit funktioniert auch alles, keine Fehlermeldung oder so.

Das Problem ist, daß wenn ich das script laufen lasse (Chatuser ist meinetwegen 0) und danach den Chat betrete, sich die Zahl nicht ändert. Erst beim drücken von F5 zeigt er es richtig an.

Wer kann helfen.

Bei Bedarf, kannst du dir die Seite ja mal anschauen:
http://www.karategeldern.de/
 
Hi,

Dank gilt den vielen Helfern :(

Bischen ungeduldig, dafür dass Du in einem Forum um kostenlose Hilfe bittest, findest Du nicht?

So, wie Du Dir das gedacht hast, kann das nicht funktionieren. Mache Dir den Unterschied zwischen Client und Server bewusst (PHP -> Server, Javascript -> Client). Der PHP-Code wird doch nur einmal ausgewertet. Das Resultat ist, dass in Deinem Browser folgendes ankommt:

Code:
function imChat(){ 
    document.getElementById('zeig').innerHTML=0;
}

Also wird alle 5 Sekunden erneut "0" in das Element geschrieben.

Du müsstest schon einen HTTP-Request an den Server senden und das Ergebnis auswerten, sprich in das Element "zeig" schreiben.
Das Stichwort hierzu lautet AJAX

LG
 

Neue Beiträge

Zurück