tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
4
ZUGRIFFE
987
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Hi @ all,

    habe schon stundenlang im Netz gesucht, aber leider keine Lösung für mein Problem gefunden.

    Ich lese aus einer Mysql-Db die Kalenderwoche aus. Nun muss ich die Tage dieser Woche dazu ausgeben können.

    Als Bsp:
    Aus der Db kommt 34.

    Nun soll das Ganze folgendermaßen aussehen:
    Kalenderwoche: 34 (20.08.2007 - 26.08.2007)

    Könnt Ihr mir bitte einen Weg aufzeigen, wie man zu der Kalenderwoche die Tage berechnen kann?

    Vielen Dank
     

  2. #2
    Avatar von LoMo
    LoMo LoMo ist offline Benutzer
    Registriert seit
    Jun 2004
    Beiträge
    384
    Hallo,
    du könntest das komplette Jahr durchrechnen. Bei 1.1.2007 anfangen und durchrechnen. 7 Tage addieren und aus $datum_von immer die kw errechnen, bis du bei deiner KW angelangt bist .

    mfg
    Geändert von LoMo (22.08.07 um 11:15 Uhr)
     

  3. #3
    -GS-Master -GS-Master ist offline Mitglied Platin
    Registriert seit
    Sep 2005
    Beiträge
    705
    Naja so schwer war das doch nun auch wieder nicht
    Paar Minuten nachdenken und man könnte auf so eine "unschöne" Lösung kommen wie diese. Naja hoffe dir reicht der Code.
    Die erklärung sollte dir zeigen, was meine Idee war ...

    PHP-Code:
    <?php

    $wochen 
    34;                                      // welche Wochendaten benötigen wir?
    $woche $wochen*7;                                // Tage berechnen
    $timestamp_week mktime($woche,2007);             //Timestamp berechnen
    $timestamp_week $timestamp_week-1*60*60*24*7;    //Timestamp unserer Woche! --> Sonntag!
    $today date("j.n.Y"$timestamp_week);           //Letzter Wochentag --> Sonntag!
    $abzug=0;

    for(
    $day 0$day "7"$day++) //Bis alle restlichen 6 Tage abgelaufen sind
    {
    if(
    $day == "0"){ $tag[$day]="$today"; }else{
    $abzug=$abzug+1;
    $tag[$day] = $today-$abzug.".2007";
    }
    }

    $tag array_reverse($tag);                               //Array umkehren ... 
    echo "Kalenderwoche: $wochen ($tag[0] - $tag[6])\n";

    ?>
    Man bekommt im Moment folgende Ausgabe
    Kalenderwoche: 34 (20.8.2007 - 26.8.2007)
    Solltest du noch die Wochentage (Montag-Sonntag) brauchen, so ist das überhaupt kein großes Ding, dass noch selbst du verändern.
    Geändert von -GS-Master (22.08.07 um 13:15 Uhr)
     

  4. #4
    quidnovi quidnovi ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Beiträge
    294
    Hi Euch Beiden,

    thx für Eure Antworten.

    Habe es nun anders gelöst.

    Ich habe in der DB auch die KW des betreffenden Eintrages. Diese KW und das Datum (datTag) hole ich nun aus der DB.
    Hier der Code, vielleicht hilft's ja jemanden:
    PHP-Code:
    // Datum, Kw abfragen und die Tage der betreffenden KW augeben 
        
    $sql="SELECT kw,datTag FROM ".$abrechnung." GROUP BY kw ORDER BY kw DESC";
        
    $res mysql_query($sql) or die (mysql_errno() . ": Keine Verbindung zu \"el_rohner_abrechnung\"! " mysql_error()."<br />".$sql);

        while(
    $row mysql_fetch_object($res)){

            
    $strg $row->datTag;
            
    $time strtotime($strg);
            
    $anfg $time;
            
    $ende $time;
            while(
    date('w',$anfg) > 0){
                
    $anfg -= 60 60 24;
            }
            
    $anfg += 60 60 24;

            while(
    date('w',$ende) < 6){
                
    $ende += 60 60 24;
            }
            
    $ende += 60 60 24;

            echo 
    "Kalenderwoche: ".date('W'$anfg)." ";
            echo 
    "(";
            echo 
    date('d.m.y'$anfg);
            echo 
    " - ";
            echo 
    date('d.m.y'$ende);
            echo 
    ")<br />";
        } 
    Die Ausgabe:
    Kalenderwoche: 34 (20.08.07 - 26.08.07)
    Kalenderwoche: 33 (13.08.07 - 19.08.07)
    Kalenderwoche: 31 (30.07.07 - 05.08.07)

    Danke nochmals
     

  5. #5
    Avatar von LoMo
    LoMo LoMo ist offline Benutzer
    Registriert seit
    Jun 2004
    Beiträge
    384
    Ups nehm alles zurück war doch richtig. Schon so spät heute
    mfg
     

Ähnliche Themen

  1. Beginn und Ende einer Kalenderwoche?
    Von wachteldonk im Forum Javascript & Ajax
    Antworten: 2
    Letzter Beitrag: 24.03.10, 20:39
  2. Antworten: 4
    Letzter Beitrag: 25.02.10, 16:38
  3. Antworten: 1
    Letzter Beitrag: 14.06.06, 15:25
  4. Antworten: 5
    Letzter Beitrag: 30.11.03, 23:52
  5. Antworten: 3
    Letzter Beitrag: 05.03.03, 19:50