Gå til innhold

Kalender som uthever spesielle dager i året ?


Anbefalte innlegg

Hei. Jeg har jobbet en del med kalender skriptet nedenfor. Jeg har dog problemer med å få uthevet spesielle dager i året. F.eks kvinnedagen, 17 mai, juleaftenm etc.

Skriptet nedenfor uthever kvinnedagen 8 mars, men om jeg prøver å endre måned fra 3 til 4 blir den 8 fremdeles uthevet. Hvordan skal jeg få kun 8 mars til å utheves og ikke 8 april, 8 mai, 8 juni, etc... ?

 

<?
$hour   = date("H"); # Visning av time i døgnet
$minute = date("i"); # Visning av minutt i timen
$second = date("s"); # Visning av sekund i minuttet
$month  = date("n"); # Numerisk visning av måned
$day    = date("j"); # Numerisk visning av dag i måned
$year   = date("Y"); # Visning av år
$week   = date("w"); # Numerisk visning av ukedag, Søndag = 0, Lørdag = 6
$dager  = date("t"); # Viser antall dager i en måned

$ukedag = array("Man","Tir","Ons","Tor","Fre","Lør","Søn");
#$mktime   = date("j n Y", mktime($hour,$minute,$second,$month,$day,$year));
$start_dag = date("j", mktime($hour,$minute,$second,$month,1,$year));

$kvinnedag = date("j n", mktime($hour,$minute,$second,3,8,$year));

print "<table border=1><tr><td class=nav1 colspan=7>";
print "<table><td>".date("F Y").", Uke ".date("W");
print "</td></table></td></tr><tr>";

foreach($ukedag as $ukedager) {
print "<td class=m align=center><span class=small>$ukedager</span></td>";
}
print "</tr><tr>";

for ($ukedag = 0; $ukedag < $start_dag; $ukedag++) {
print "<td>&nbsp</td>";
}
for ($dag_i_mnd = 1; $dag_i_mnd <= $dager; $dag_i_mnd++) {
if ($ukedag >= 7) {
print "</tr><tr>";
$ukedag=0;
}
if ($dag_i_mnd == $day) {
print "<td class=nav1 align=center><span class=small>$dag_i_mnd</span></td>";
}
elseif($ukedag==5 || $ukedag==6) {
print "<td class=nav2 align=center><span class=small><font color=red>$dag_i_mnd</font></span></td>";
}
elseif($dag_i_mnd == $kvinnedag) {
print "<td class=nav2 align=center><span class=small><font color=green>$dag_i_mnd</font></span></td>";
}
else {
print "<td class=nav2 align=center><span class=small>$dag_i_mnd</span></td>";
} $ukedag++; }
print "</tr></table>";
?>

Lenke til kommentar
Videoannonse
Annonse

elseif($dag_i_mnd == $kvinnedag) {
print "<td class=nav2 align=center><span class=small><font color=green>$dag_i_mnd</font></span></td>";
}

 

$kvinnedag er "8 3", etter det jeg ser i koden din. Da virker det rart om dette skulle kunne tilsvare $dag_i_mnd på noe tidspunkt. Denne variabelen går jo bare fra 1 til 31, 30, 28, 29, alt etter hvor mange dager det er i måneden.

 

Uansett, i disse elseif-ene dine bør du sjekke ting slik:

 

elseif($dag_i_mnd == 8 and $month == 3) {
print "<td class=nav2 align=center><span class=small><font color=green>$dag_i_mnd</font></span></td>";
}

 

Altså at du sjekker at det både er 8. og mars. Da trenger du ikke $kvinnedag-variabelen. (Kvinnedagen er jo alltid 8. mars, i motsetning til påska.)

 

MVH Audun

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...