Koendi: Datum von Gestern

Hallo!
Ich möchte einen Counter scripten, der Datenbank basiert ist.
In der Datenbank wird gespeichert:
Tag,Monat,Jahr,Zeit
jetzt möchte ich, dass das Script die Besucher Zahl von heute und gestern anzeigt.
Über den den Befehl date("d") bekomme ich den heutigen Tag.
Gibt es einen Befehl für das gestrige Datum?
Vielen Dank im voraus.
Koendi

  1. Halihallo Koendi

    In der Datenbank wird gespeichert:
    Tag,Monat,Jahr,Zeit
    jetzt möchte ich, dass das Script die Besucher Zahl von heute und gestern anzeigt.
    Über den den Befehl date("d") bekomme ich den heutigen Tag.
    Gibt es einen Befehl für das gestrige Datum?

    Welche Datenbank?

    Viele Grüsse

    Philipp

    1. Bei der Datenbank handelt es sich um eine MySQL Datenbank und die tabelle heißt log.

      1. Halihallo Koendi

        Bei der Datenbank handelt es sich um eine MySQL Datenbank und die tabelle heißt log.

        Pack, wie Sönke es schreibt, alles in einen Datentypen; der heisst DATETIME. Dann
        benutze die MySQL-Funktionen zur Zeitberechnung:
        http://www.mysql.com/doc/en/Date_and_time_functions.html

        Datentypen:
        http://www.mysql.com/doc/en/Date_and_time_types.html

        Eine Lösung über PHP ist nicht empfehlenswert, wenn es über die Datenbank lösbar ist.

        Viele Grüsse

        Philipp

  2. Ich möchte einen Counter scripten, der Datenbank basiert ist.
    In der Datenbank wird gespeichert:
    Tag,Monat,Jahr,Zeit

    Nur als Hinweis: Es gibt bei einigen Datenbanken durchaus die Möglichkeit, daß alles zusammen zu speichern.

    Über den den Befehl date("d") bekomme ich den heutigen Tag.
    Gibt es einen Befehl für das gestrige Datum?

    Mit mktime() lässt sich auch rechnen (siehe Anleitung). Von der Variante, 24 Stunden von der aktuellen Zeit abzuziehen, rate ich wegen der Sommerzeitstolperfalle (Tage mit 23 bzw. 25 Stunden) ab.

    Davon abgesehen bieten einige Datenbanken ebenfalls die Möglichkeit, von einem Zeitpunkt "einen Tag" abzuziehen. Wiederum: Siehe Anleitung.

    Gruß,
      soenk.e

  3. Hi Koendi,

    speichere Dein Datum als TIMESTAMP in der DB.

    TIMESTAMP - 1tag

    20030225000000 - 1000000
    (JahrTagMonat)

    Gruß

    1. speichere Dein Datum als TIMESTAMP in der DB.

      Der Typ TIMESTAMP ist für allgemeine Daten herzlich wenig geeignet, da er bei _jeder_ Änderung des dazugehörenden Datensatzes automatisch die aktuelle Zeit übernimmt.
      Anders ausgedrückt: Für normale Daten DATETIME, falls der jeweils letzte Änderungszeitpunkt des Datensatzes benötigt wird, TIMESTAMP.

      Gruß,
        soenk.e