kostenloser Webspace werbefrei: lima-city


Einträge der letzten drei Tage ausgeben - MySQL

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    fabian-riedel

    Kostenloser Webspace von fabian-riedel

    fabian-riedel hat kostenlosen Webspace.

    Guten Abend,
    ich möchte aus einer MySQL-tag/date">Datenbank alle Einträge von Heute und den letzten drei Tagen ausgegeben bekommen.
    Also [...] WHERE date = [die letzten drei Tage] [...]
    Ich habe mir auch schon die Datumsfunktionen von MySQL (http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html) angekuckt, bin allerdings noch zu keiner Lösung gekommen.
    Weiß jemand wie's geht?

    Grüßle Fabi
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. ole-reglitzki

    Kostenloser Webspace von ole-reglitzki

    ole-reglitzki hat kostenlosen Webspace.

    erst das aktuelle Datum erzeugen lassen
    dann ein Datum von vor drei Tagen erzeugen lassen
    dann WHERE date BETWEEN vordreitagen AND heute
  4. SELECT * FROM `tabelle` WHERE DATEDIFF(NOW(),`date`) <= 3 ;


    Oder...

    $jetzt = time(); 
    $datum = $jetzt - (60*60*24*3) ;
    $sql="SELECT * FROM database WHERE date < '".$datum."'";  
    $result = mysql_query($sql);


    Beitrag zuletzt geändert: 21.10.2010 23:07:17 von fabo
  5. ole-reglitzki

    Kostenloser Webspace von ole-reglitzki

    ole-reglitzki hat kostenlosen Webspace.

    muss das nicht > sein ?
    also:
    $jetzt = time(); 
    $datum = $jetzt - (60*60*24*3) ;
    $sql="SELECT * FROM database WHERE date > '".$datum."'";  
    $result = mysql_query($sql);


    und wenn es im datetime-Format ist, muss der Timestamp vorher noch umgewandelt werden

    EDIT: und es würde keine Zeilen ausgeben, dessen Datum vor drei Tagen ist, aber sie vor der jetzigen Uhrzeit sind.
    ob es so vielleicht besser, als der erste Code ist, kommt auf den Zweck an:
    im ersten wird um 0:00 der letzte ausgegebene Tag gelöscht
    im zweiten wird kein kompletter Tag gelöscht (nicht mehr angezeigt beim aktualisieren), sondern die einzelnen Sekunden

    Beitrag zuletzt geändert: 21.10.2010 23:13:12 von ole-reglitzki
  6. Der typische Ansatz ist:
    SELECT ... FROM ... WHERE `date` >= DATE_SUB(NOW(), INTERVAL 3 DAYS)

    Wenn du die genau Uhrzeit nicht beachten willst und nur anhand der Tage vergleichen willst:
    SELECT ... FROM ... WHERE `date` >= DATE_SUB(CURDATE(), INTERVAL 3 DAYS)
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!