pl: KW als Spalte einfügen

Beitrag lesen

hi @Rolf B

unter Beachtung, daß die 1. KW ins vorherige Jahr gehören könnte, ergibt sich das Array über die darzustellenden Wochen wie folgt:

my @weeks = $fstday->kw == 52 ? (52, 1 .. $lastday->kw) : $fstday->kw == 53 ? (53, 1 .. $lastday->kw) : ($fstday->kw .. $lastday->kw);

Ansonsten bietet sich über alles ein Template an, der komplette Code:

# Template
my $tt = q(
KW Mo Di Mi Do Fr Sa So
%loop_weeks%
%kw% %1% %2% %3% %4% %5% %6% %7%
%endloop%
);

# Gegeben
my $year = 2015,
my $month = 11;

# Ausführung
my $fstday  = Kalenderwoche->new( date => sprintf("%d.%d.%d", 1, $month, $year));
my $lastday = Kalenderwoche->new( date => sprintf("%d.%d.%d", $fstday->ultimo, $month, $year));

# Daten fürs Template bereitstellen
my @stash = ();
my @weeks = $fstday->kw == 52 ? (52, 1 .. $lastday->kw) : $fstday->kw == 53 ? (53, 1 .. $lastday->kw) : ($fstday->kw .. $lastday->kw);

foreach my $week( @weeks ){
    my %modimi = ();
    foreach my $wd(1..7){
        if( $wd == $fstday->wd && $fstday->month == $month){
            $modimi{$wd} = sprintf("%02d", $fstday->day);
            $fstday++;
        }
        else{
            $modimi{$wd} = '--';
        }
    }
    push @stash, {kw => sprintf("%02d", $week), %modimi};
}

# Daten ins Template rendern
print XR::xr($tt, {weeks => \@stash});


KW Mo Di Mi Do Fr Sa So

44 -- -- -- -- -- -- 01
 
45 02 03 04 05 06 07 08
 
46 09 10 11 12 13 14 15
 
47 16 17 18 19 20 21 22
 
48 23 24 25 26 27 28 29
 
49 30 -- -- -- -- -- --

Und genauso kann man das natürlich auch mit PHP machen. So ist die Datumsarithmetik schön getrennt von der Darstellung. Es wäre dann nur das Template zu ändern bzw. anzupassen.

MfG

0 117

KW als Spalte einfügen

Barksalot
  • php
  1. 1
    Regina Schaukrug
    1. 0
      Barksalot
      1. 0
        Regina Schaukrug
        1. 0
          Barksalot
          1. 1
            Regina Schaukrug
            1. 0
              Barksalot
              1. 1
                Regina Schaukrug
                1. 0
                  Barksalot
              2. 0
                Rolf B
                • php
                • programmiertechnik
                1. 0
                  Barksalot
                  1. 0
                    Rolf B
                    1. 0
                      beatovich
                2. 0
                  Barksalot
                  1. 0
                    Rolf B
                    1. 0
                      Barksalot
                      1. 0
                        Rolf B
                      2. 1
                        Rolf B
                        1. 0
                          Barksalot
                      3. 0

                        Hier mal meine Vorgehensweise

                        Regina Schaukrug
                        1. 0

                          (Fortsetzung)

                          Regina Schaukrug
                        2. 0

                          2. Fortsetzung: Termine

                          Regina Schaukrug
                          1. 0
                            Barksalot
                            1. 0
                              Regina Schaukrug
                              1. 0
                                Barksalot
                                1. 0
                                  Regina Schaukrug
                                  1. 0
                                    Barksalot
                                    1. 0
                                      Regina Schaukrug
                                      1. 0
                                        Barksalot
                                        1. 0
                                          Regina Schaukrug
                                    2. 0
                                      Rolf B
                              2. 0
                                beatovich
                                1. 0
                                  Regina Schaukrug
                                  1. 0
                                    beatovich
                              3. 0
                                Regina Schaukrug
                              4. 0
                                Rolf B
                  2. 2
                    Rolf B
                  3. 2
                    Rolf B
                    1. 0
                      MudGuard
                      1. 0
                        Rolf B
                        1. 0
                          dedlfix
                      2. 0
                        Regina Schaukrug
                    2. 0
                      Barksalot
                      1. 0
                        Regina Schaukrug
                        1. 0
                          Barksalot
                          1. 0
                            Regina Schaukrug
                            1. 0
                              Barksalot
                      2. 0
                        Rolf B
                        1. 0
                          Barksalot
                          1. 0
                            Rolf B
                            1. 0
                              Barksalot
                              1. 0
                                Regina Schaukrug
                                1. 0
                                  Barksalot
                                  1. 0
                                    Regina Schaukrug
                                    1. 0
                                      Barksalot
                                      1. 0
                                        Regina Schaukrug
                                        1. 0
                                          Barksalot
                                          1. 0
                                            Regina Schaukrug
                                            1. 0
                                              Barksalot
                                              1. 0
                                                Regina Schaukrug
                                                1. 0
                                                  Barksalot
                                                  1. 0
                                                    Regina Schaukrug
                                                    1. 0
                                                      Barksalot
                                                      1. 0
                                                        Regina Schaukrug
                                                        1. 0
                                                          Barksalot
                                                          1. 0
                                                            Regina Schaukrug
                                                            1. 0
                                                              Barksalot
                                                              1. 0

                                                                Anmerkung zu $mysqli: KW als Spalte einfügen

                                                                Barksalot
                                                                1. 0
                                                                  Regina Schaukrug
                                                                  1. 0
                                                                    Barksalot
                                                                    1. 0
                                                                      Regina Schaukrug
                                                                      1. 0
                                                                        Barksalot
                                                                        1. 0
                                                                          Rolf B
                                                                        2. 0
                                                                          Regina Schaukrug
                                                                          1. 0
                                                                            Barksalot
                                                                            1. 0
                                                                              Regina Schaukrug
                                                                              1. 0
                                                                                Barksalot
                                                                                1. 0
                                                                                  Regina Schaukrug
                                                                                  1. 0
                                                                                    Barksalot
                                                                                2. 0
                                                                                  Barksalot
                                                                                  1. 0
                                                                                    Rolf B
                                                                                    1. 0
                                                                                      Barksalot
                                                                                      1. 1
                                                                                        Regina Schaukrug
                                                                                        1. 0
                                                                                          Barksalot
                                                                                          1. 0
                                                                                            Rolf B
                                                                                      2. 0
                                                                                        Rolf B
                                                                                        1. 0
                                                                                          Barksalot
                                                                                  2. 0
                                                                                    Regina Schaukrug
                                                                                    1. 0
                                                                                      Barksalot
                                                                                      1. 0
                                                                                        Regina Schaukrug
                                                                                        1. 0
                                                                                          Barksalot
                                                                                          1. 0
                                                                                            Regina Schaukrug
                                                                                            1. 0
                                                                                              Barksalot
                                                                                              1. 0
                                                                                                Rolf B
                                                                                              2. 0
                                                                                                Regina Schaukrug
                                                                2. 0
                                                                  Rolf B
                                                                  1. 0
                                                                    Barksalot
                                                                    1. 0
                                                                      Rolf B
                3. 0
                  pl
                  • perl
                  • programmiertechnik
                  1. 0
                    Rolf B
                    1. 0
                      pl
                    2. 0
                      pl
          2. 0

            Einträge anordnen

            Barksalot
            1. 0
              pl
              1. 0
                Barksalot
                1. 0
                  Rolf B
                  1. 0
                    pl
  2. 1

    Danke!

    Barksalot
    1. 1
      Rolf B
      1. 0
        Barksalot
        1. 0
          Rolf B
          1. 0

            Grundsatzdiskussion bind ./. fetch_assoc und prepare ./. mysqli_real_escape_string

            Regina Schaukrug
            1. 0
              Rolf B
              1. 0
                Barksalot
                1. 0
                  Regina Schaukrug
                  1. 0
                    Rolf B
                    1. 0

                      Humor...

                      Regina Schaukrug
                      • menschelei