Bereich aktualisieren

Sephcom

Mitglied
Folgendes....

ich möchte es realisieren, dass nur ein bestimmter bereich der WebSeite aktualisiert wird.

Und zwar folgendes:

ich habe unter dem header eine anzeige, der s.g. "Posteingang".
Dort wird die anzahl an neuen nachrichten, anzahl gesamter nachrichten, etc. angezeigt.

In diesem bereich ist das Script dazu, welches aus der Datenbank die entsprechende Anzahl ausliest.

Nun möchte ich, das NUR dieser bereich, nach einer gewissen zeit automatisch neu geladen wird.
Also nicht die ganze Seite.
WIe lässt sich das ohne iFrames realisieren?

mfG
 
Moin,

sowas geht z.B. per AJAX, die gängigen Frameworks haben das nötige Werkzeug zur einfachen Umsetzung parat, bspw. Prototype:Ajax.PeriodicalUpdater

Es ginge auch bspw., wenn dein Skript eine Grafik gegerieren Würde mit den Infos, da müsstest du nur in Intervallen ein Bild(das Skript) neu Laden.
 
Tut mir leid, kenne mich leider nicht so in der programmierung mit ajax aus, könnte mir jmd vllt 'nen codeschnippsel liefern?
 
Viel einfacher als der Codeschnipsel in der Dokumentation geht es kaum:
Code:
new Ajax.PeriodicalUpdater('idDesZuAktualisierendenBereiches', 'pfad/zum/skript.php', {frequency: 3});

(Die 3 nach frequency steht für den Sekundenintervall, nach dem jeweils aktualisiert werden soll)
 
Sorry für die vielen dummen fragen, aber...
ich habe jetzt die

index.php
prototype.js

die prototype.js ist in die index.php eingebunden.
Wenn ich jetzt in der index.php ganz unten den AJAX-Code eintrage, dann wird die seite doppelt angezeigt

new Ajax.PeriodicalUpdater('serverzeit', 'index.php', {frequency: 1});
 
Die Datei, die du abfragst(index.php in dem Fall)....sollte das zurückgeben, was du in dem Bereich(#serverzeit) anzeigen willst....also bspw. die Serverzeit....und nicht ein komplettes Dokument.
 
D.h. ich mache in die Index.php

<div id="serverzeit"
</div>

new Ajax.PeriodicalUpdater('serverzeit', 'serverzeit.php', {frequency: 1});


und dann eine neue Datei serverzeit.php
PHP:
<?php
    $zeit = time();
    $serverzeit = date("H:i:s",$zeit);
    echo $serverzeit;
?>

Wenn ich das allerdings mache, dann wird manchmal trotzdem die Page zweimal angezeigt o.O oder muss ich statt "echo" return nehmen?
 

Neue Beiträge

Zurück