Ankündigung

Einklappen
Keine Ankündigung bisher.

DB Einträge anhand von Timestamps nach Tagen abrufen.

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • DB Einträge anhand von Timestamps nach Tagen abrufen.

    Moin,

    ich bin gerade bei einer Sache, wo ich nicht so ganz weiter komme.

    Ich habe in einer MySQL Tabelle in der Spalte timestamp einen Timestamp. Jetzt möchte ich zählen, bei wie vielen Einträgen dieser Timestamp im heutigen Tag lieg, im gestrigen Tag,..., das 7 Tage zurück.

    Die letzten 7 Tage kann ich so auflisten:

    Code:
    setlocale(LC_TIME, 'de_DE');
    $datumonline = date("m.d.Y");
    list($mon,$tag,$jahr)=explode(".",$datumonline);
    for($i=0;$i<7;$i++)
    {
    $timestamp[$i] = mktime(0,0,0,$mon,$tag-$i,$jahr);
    }
    for($i=0;$i<7;$i++)
    {
    echo strftime('%A', $timestamp[$i]).", ";
    echo date("j. ", $timestamp[$i]);
    echo strftime('%B', $timestamp[$i]);
    echo date(" Y", $timestamp[$i]);
    echo "
    ";
    }
    Nur wie selectiere ich dann aus der DB um die Einträge für den jeweiligen Tag zu zählen? Ich habe schon vieles jetzt ausprobiert, aber irgendwie komme ich nicht zum richtigen Ergebnis.

    wilko


  • #2
    Ich habs!
    Mein denkfehler war, das ich immer von einem Timestamp ausgegangen bin! Ich habe jetzt 2 gemacht, so geht es:

    Code:
    setlocale(LC_TIME, 'de_DE');
    $datumonline = date("m.d.Y");
    list($mon,$tag,$jahr)=explode(".",$datumonline);
    for($i=0;$i<7;$i++)
    {
    $timestamp[$i] = mktime(0,0,0,$mon,$tag-$i,$jahr);
    $timestamp2[$i] = mktime(23,59,59,$mon,$tag-$i,$jahr);
    }
    for($i=0;$i<7;$i++)
    {
    $sql = mysql_query("SELECT id FROM phparchiv WHERE timestamp <= '$timestamp2[$i]' AND timestamp >= '$timestamp[$i]' ORDER BY id");
    $zahl = mysql_num_rows($sql);
    echo strftime('%A', $timestamp[$i]).", ";
    echo date("j. ", $timestamp[$i]);
    echo strftime('%B', $timestamp[$i]);
    echo date(" Y", $timestamp[$i]);
    echo "(".$zahl.")
    ";
    }
    Problem gelöst!

    wilko

    Kommentar


    • #3
      ggf. auch mal das beachten:

      17.5. Wie kann ich die Datensätze der letzten 2 Wochen listen?
      http://www.dclp-faq.de/q/q-mysql-aenderungsdatum.html

      oder das

      17.7. Wie lösche ich alle Datensätze, die älter als n Tage sind?
      http://www.dclp-faq.de/q/q-mysql-loeschen.html

      Kommentar


      • #4
        Jo, danke für den Hinweis!

        wilko

        Kommentar

        Lädt...
        X