Robinson: Monatsarray erstellen

Guten Abend,

ich möchte ein Monatsarray erstellen, dass ausgehend vom aktuellen Monat die 12 letzten Monate beinhaltet.

Aktueller Monat ist klar. Aber der Umbruch zum ggf. letzten Jahr ist mir noch unklar?

Wie macht man das?

Robin

  1. Hi,

    ich möchte ein Monatsarray erstellen, dass ausgehend vom aktuellen Monat die 12 letzten Monate beinhaltet.

    In welcher Form?

    Aktueller Monat ist klar. Aber der Umbruch zum ggf. letzten Jahr ist mir noch unklar?

    strtotime kann einiges.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. In welcher Form?

      Stand doch da.

      $aktuell=date("m", time());
      $real_month[11]=$aktuell;
      for ($p=10; $p>=0; $p--) {
      if ($aktuell==1) {
      $aktuell=13;
      }
      $real_month[$p]=$aktuell-1;
      }

      Neue Frage:

      Wenn ich nun in der Ergebnismenge einer mysql-query nur 05/2009 und 09/2009 habe, wie bringe ich
      "while ($row1=mysql_fetch_row($result1)) {"
      bei, dass alle anderen Monate z.B jeweils "0/-" beinhalten?

      Robin

      Robin

      1. Lieber Robinson,

        Wenn ich nun in der Ergebnismenge einer mysql-query nur 05/2009 und 09/2009 habe,

        ... dann magst Du in einem neuen Projekt vielleicht zukünftig lieber Timestamps abspeichern, anstatt solche unhandlichen Formate.

        $query = '05/2009';  
        $date = explode('/', $query);  
        $timestamp = mktime(  
            0,        // Stunde  
            0,        // Minute  
            0,        // Sekunde  
            $date[0], // Monat  
            1,        // Tag  
            $date[1]  // Jahr  
        );  
        echo date('d.m.Y \u\m H:i:s \U\h\r'); // 01.05.2009 um 0:00:00 Uhr
        

        Liebe Grüße,

        Felix Riesterer.

        --
        ie:% br:> fl:| va:) ls:[ fo:) rl:° n4:? de:> ss:| ch:? js:) mo:} zu:)
        1. Wenn ich nun in der Ergebnismenge einer mysql-query nur 05/2009 und 09/2009 habe,

          ... dann magst Du in einem neuen Projekt vielleicht zukünftig lieber Timestamps abspeichern, anstatt solche unhandlichen Formate.

          Hi Felix,

          die Daten stammen aus einem Timestamp,

          da ich aber schon in der Query monatsweise gruppiere, liegen sie in der Ergebnismenge auch so vor.

          Grüße, Robin

      2. Hi,

        In welcher Form?

        Stand doch da.

        Erzähl' keinen Quatsch -

        $aktuell=date("m", time());

        • du willst also die Monatsnummer mit führender Null haben.
          Zeig mir bitte, wo das angeblich stand.

        Wenn ich nun in der Ergebnismenge einer mysql-query nur 05/2009 und 09/2009 habe, wie bringe ich
        "while ($row1=mysql_fetch_row($result1)) {"
        bei, dass alle anderen Monate z.B jeweils "0/-" beinhalten?

        Gar nicht.
        Über Daten, die gar nicht vorhanden sind, kannst du schlecht iterieren.

        Lege die von der Datenbank abgefragten Werte in einem Array ab.
        Lasse dann eine Schleife laufen, die vom Start- bis zum End-Monat läuft. Überprüfe dabei jeweils, ob es zum aktuellen Monat Daten im Array gibt - wenn ja, gebe sie aus, wenn nicht, dann "0/-".

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Lege die von der Datenbank abgefragten Werte in einem Array ab.
          Lasse dann eine Schleife laufen, die vom Start- bis zum End-Monat läuft. Überprüfe dabei jeweils, ob es zum aktuellen Monat Daten im Array gibt - wenn ja, gebe sie aus, wenn nicht, dann "0/-".

          MfG ChrisB

          Jo, so muss das sein.
          Ich dachte, es gäbe vll. einen einfacheren Weg.
          Danke für Deine Hilfe, Robin