Autor Zpráva
Hudeczek
Profil *
Mám kód pro zobrazování kalendáře.. nejdřív pár dní z minulýho měsíce pak tento měsíc a potom pár dní příštího měsíce..
Všechno je v pohodě pokud néni první den Neděle, například Březen. Mělo by to vypsat 6dní z minulého měsíce a ten první ale ono to celou tu řadu vynechá.
Hledám v tom dlouho ale pořád nic, prosím pomozte.
Tu je kód:
        $NumMonth = Date("n");
        $NumYear = Date("Y");
        $NumFirstDay = date("w", mktime(0, 0, 0, $NumMonth, 1, $NumYear));
        $CountDays = date("t", mktime(0, 0, 0, $NumMonth, 1, $NumYear));
        $CDLastMoonth = date("t", mktime(0, 0, 0, $NumMonth-1, 1, $NumYear));
        $Day = 0;
        for($x=0; $x<=5; $x++){
          echo "<tr>";
            for($i=1; $i<=7; $i++) {
              $Day = $x*7+$i-$NumFirstDay+1;
              if($Day >= 1 and $Day <= $CountDays ){
                if($Day == date("j")){
                  echo "<td class=\"dnes\">";
                }
                else{
                  echo "<td class=\"on\">";
                }
                echo "<strong>{$Day}</strong>";
                echo "</td>";
              }
              else{
                echo "<td class=\"off\">";
                if($Day > $CountDays){
                  $ThisDay = $Day-$CountDays;
                  echo "<strong>{$ThisDay}</strong>";
                }
                else{
                  $ThisDay = $Day*-1;
                  $ThisDay = $CDLastMoonth-$ThisDay;
                  echo "<strong>{$ThisDay}</strong>";
                }
                echo "</td>";
              }
            }
          echo "</tr>";
          if (!checkdate($NumMonth, $Day+1, $NumYear)) break;
        }

Je to osekaný ale chyba musí bejt v těchle kódech
Mastodont
Profil
Dej si někam do toho cyklu:
print_r(get_defined_vars());

a sleduj, jak se mění proměnné.
Hudeczek
Profil *
Mastodont
Díky, pomocí toho sem to našel:)
Přidal jsem jenom toto:
        $NumFirstDay = date("w", mktime(0, 0, 0, $NumMonth, 1, $NumYear));
        if ($NumFirstDay == 0){
          $NumFirstDay = 7;
        }

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: