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 |
#2 · Zasláno: 9. 4. 2009, 20:48:12
Dej si někam do toho cyklu:
print_r(get_defined_vars()); a sleduj, jak se mění proměnné. |
||
Hudeczek Profil * |
#3 · Zasláno: 9. 4. 2009, 20:56:40
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; } |
||
Časová prodleva: 15 let
|
0