11. marts 2006 - 11:39Der er
11 kommentarer og 2 løsninger
enkel PHP kalender
Jeg vil lave en enkel PHP kalender på mit site, men kan ikke finde en guide. Er der nogen der har en god guide/tutorial til hvordan jeg laver en DANSK kalender i PHP ala denne her:
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
Denne minder meget om coderdk's. Jeg skal lige sige, at jeg ikke er forfatter til dette script.
<?php /* Kalenderscriptet*/ /* Tjekker året er sat i adresselinien, ellers bliver det i år */ $aar = (empty($_GET['y'])) ? date(Y) : $_GET['y']; /* Tjekker måneden er sat i adresselinien, ellers bliver den sat til aktuel måned */ $maaned = (empty($_GET['m'])) ? date('m') : $_GET['m']; /* Array med ugedage */ $uger = array('Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør', 'Søn'); /* Den aktuelle dato i unix epoch (antal sekunder siden 1. jan 1970) */ $dato = mktime(0,0,0,$maaned, 1, $aar); /* Antal dage i måneden */ $antalDageMaaned = date('t', $dato); /* Første ugedag (hvis det er søndag (0) sættes den til 7) */ $foersteUgedag = (date('w', $dato) == 0) ? 7 : date('w', $dato); /* Udskriver måned og år */ print ('<h2>'.date('F', $dato).' - '.$aar.'</h2>'); /* Udskriver forrige/næste knap */ printf('<a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">Forrige</a> - <a href="'.$_SERVER['PHP_SELF'].'?m=%s&y=%s">Næste</a>', date('m', strtotime("-1 month", $dato)), date('Y', strtotime("-1 month", $dato)), date('m', strtotime("+1 month", $dato)), date('Y', strtotime("+1 month", $dato))); /* Tabellen starter */ print ('<table border="1"><tr>'); /* En række med ugedage udskrives */ for ($i = 1; $i < count($uger); $i++) { print ('<td>'.$uger[$i].'</td>'); } print ('</tr>'); /* Løkken kører så længe der er dage tilbage i måneden */ for ($dag = 1; $dag <= $antalDageMaaned; $dag++) { print ('<tr>'); /* Ugedage-løkken køres igennem */ for ($u = 1; $u <= 7; $u++) {
/* Udskriver tomme pladser hvis måneden ikke starter med en mandag */ if ($u < $foersteUgedag && $foersteUgedag+$dag <= 8) { print ('<td></td>'); } else { /* Datoen udskrives, hvis den er inde for måneden, ellers kommer der bare en tom celle url links overfoeres*/ print ( ($dag <= $antalDageMaaned) ? "<td><a href='test.php?aar=$aar&maaned=$maaned&dato=$dag'>$dag</a></td>" : '<td></td>' ); /* Hvis ugedagen ikke er søndag ligges der en til. (ellers tæller den to om søndagen) */ if ($u != 7) $dag++; } } print ('</tr>'); } print ('</table>'); ?>
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.