Compu: /php 4 : Automatisches Anzeigen von Aktualisierungen

Hi,

ich arbeite mit mysql/php 4 und möchte, dass automatisch auf der Indexseite angezeigt wird, wann die Seiten & Datenbank zum letzen Mal aktualisiert wurden.

Wie kann ich dieses automatisieren? Früher habe ich das immer auf den html Seiten manuell eingetragen. Geht es einfacher

Vielen Dank,

Compu

  1. ich arbeite mit mysql/php 4 und möchte, dass automatisch auf der Indexseite angezeigt wird, wann die Seiten & Datenbank zum letzen Mal aktualisiert wurden.

    Wie kann ich dieses automatisieren?

    Füge allen Datensätzen ein Feld timestamp hinzu. Dieses Feld wird automatisch von MySQL auf die aktuelle Zeit gesetzt, wenn der Datensatz geändert wird. Beim Löschen von Datensätzen mußt Du allerdings das Änderungsdatum eines anderen Datensatzes ändern (SQL-Funktion now()).

    In den Seiten rufst Du die letzte Änderung mit "select max(zeitstempel) ..." ab.

    Wenn Du schon dabei bist, denke vielleicht daran, daß Du eine ganze Menge unnötige Seitenabrufe sparen kannst, wenn Du mit

    header("Last-Modified: ".date("r".$änderung))

    das Änderungsdatum der Seite den Caches/Browsern mitteilst. $änderung füllst Du mit dem Ergebnis aus "select unix_timestamp(max(zeitstempel)) ...".
    Beim nächsten Aufruf schickt der Browser den Zeitpunkt der ihm bekannten letzten Änderung im HTTP-Kopf If-Modified-Since. Wurde keine Änderung durchgeführt, brichst Du die Ausgabe mit dem Status 304 ab:

    if (
          (isset($_SERVER["HTTP_IF_MODIFIED_SINCE"]))
          &&
          ($änderung<=strtotime($_SERVER["HTTP_IF_MODIFIED_SINCE"]))
         )
        {
         header("HTTP/1.0 304 Not modified");
         exit;
        };

    Gruß,
      soenk.e

    1. Vielen Dank!
      Du hast mir sehr geholfen.

      Compu