Durchzählen von Wochen

  • Hi,
    ich hab versucht ein eigentlich simples Script zu schreiben, was überprüfen soll, ob man sich im jetztigen Moment an einem Tag innerhalb einer bestimmten Woche befindet. Klingt kompliziert, ist es aber nicht:P
    Vielleicht mache ich einen Denkfehler, denn so funktioniert das "Durchzählen" nicht.

    PHP
    //$db_date_table->time_period_start = timestamp des Anfangstages der bestimmten Woche
    
    
    for($i=1; $i<8; $i++) {
    
          if(date('d.m.Y',$db_date_table->time_period_start+86400)  ==         
          date('d.m.Y', time())) {
                      $li_style = 'style="background-color: #92c90d;"';
                }
    }

    Ich hoffe, dass irgendjemand versteht was ich möchte und mir helfen kann.

    Liebe Grüße.
    Max

    2 Mal editiert, zuletzt von wurmax (14. Januar 2009 um 16:40)

  • Öhm, welchem Zweck soll denn die Schleife dienen? Du machst da 7x in Folge exakt dieselbe Abfrage.
    $db_date_table->time_period_start+86400 <-- multipliziere die 86400 mal mit $i. Das könnte schon etwas helfen.

    "Programming today is a race between software engineers
    striving to build bigger and better idiot-proof programs,
    and the universe trying to build bigger and better idiots.
    So far, the universe is winning."
    Rick Cook

  • oh, okay. Vielleicht trifft es das dann so schon eher:

    PHP
    for($i=1; $i<8; $i++) {
            $days = $i*86400;
            if(date('d.m.Y',$db_date_table->time_period_start+$days)  == date('d.m.Y', time())) {
                              $li_style = 'style="background-color: #92c90d;"';
            }
    }

    Also ich habe eine Liste mit Wochen, deren start und end timestamps in der Datenbank gespeichert sind. Ich möchte jetzt, dass der Eintrag in der Liste, der den Tag, an dem man sich die Liste anschaut, der innerhalb der Woche liegt, markiert wird.
    Mit der Schleife soll also nun überprüft werden, ob der Start-Timestamp + 7x einen Tag = dem heutigen Tag ist, damit der Eintrag dementsprechend formatiert werden kann.

    Einmal editiert, zuletzt von wurmax (14. Januar 2009 um 17:13)

  • du willst also wissen, ob der Timestamp in der Tabelle aus den letzten 8 Wochen ist?
    Geht doch viel einfacher:

    PHP
    if(time() - 8*86400 < $db_date_table->time_period_start)
     // bla
      ;


    Das ist auch effizienter.