Kalender script
Ik heb even snel een kalander scriptje gemaakt.
Ik wil deze om gaan bouwen tot een kleine classe.
Voordat ik dat ga doen wil ik graag weten of er nog op en/of aanmerkingen zijn op het script/code.
Tips voor het maken van de classe zijn uiteraard ook welkom :).
Het doet momenteel niets anders dan de huidige maand tonen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
<?php
/**
* @author Phoenix
* @copyright 17 10 2007 || 19:6
*/
/**
*
* Kalender script
*
*/
$l_dDag = date('j'); // 1 cijferig
$l_dMaand = 11; // 1 cijferig
$l_dJaar = 2007; // 4 cijferig
$l_nBreedteVeld = 30;
$l_nHoogteVeld = 30;
$l_aMaanden = array(1 => 'Januari', 2 => 'Februari', 3 => 'Maart', 4 => 'April', 5 => 'Mei', 6 => 'Juni', 7 => 'Juli', 8 => 'Augustus', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'December');
/**
* Wat is de eerste dag van de maand?
*/
$l_nEersteDag = date("w", mktime(0,0,0,$l_dMaand,0,$l_dJaar));
/**
* Uit hoeveel dagen bestaat de maand
*/
$l_nDagenInMaand = date("t",mktime(0,0,0,$l_dMaand,1,$l_dJaar));
/**
* Totaal aantal dagen
*/
$l_nTotaal = $l_nEersteDag + $l_nDagenInMaand;
/**
* Aantal weken/rijen
*/
$l_nWeken = ceil($l_nTotaal/7);
echo ("<table>");
echo ("<tr>");
echo ("<td colspan='7'>".$l_aMaanden[$l_dMaand]." ".$l_dJaar."</td>");
echo ("</tr>");
echo ("<tr>");
echo ("<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Ma</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Di</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Wo</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Do</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Vr</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Za</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Zo</td>");
echo ("</tr>");
/**
* De hee som op het scherm schrijven
*/
for($l_sCountDays = 0; $l_sCountDays < $l_nTotaal; $l_sCountDays++)
{
if($l_sCountDays < $l_nEersteDag || $l_sCountDays >= ( $l_nEersteDag + $l_nDagenInMaand ))
{
echo ("<td> </td>");
}
else
{
/**
* We doen hier -1 omdat de week vanaf zondag begint te tellen in php
* door de -1 maken we er een maandag van
*/
echo ("<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>". ($l_sCountDays -($l_nEersteDag - 1)) ."</td>");
if(($l_sCountDays + 1) % 7 == 0)
{
echo ("</tr><tr>");
}
}
}
echo ("<tr>");
echo ("</tr>");
echo ("</table>");
?>
/**
* @author Phoenix
* @copyright 17 10 2007 || 19:6
*/
/**
*
* Kalender script
*
*/
$l_dDag = date('j'); // 1 cijferig
$l_dMaand = 11; // 1 cijferig
$l_dJaar = 2007; // 4 cijferig
$l_nBreedteVeld = 30;
$l_nHoogteVeld = 30;
$l_aMaanden = array(1 => 'Januari', 2 => 'Februari', 3 => 'Maart', 4 => 'April', 5 => 'Mei', 6 => 'Juni', 7 => 'Juli', 8 => 'Augustus', 9 => 'September', 10 => 'Oktober', 11 => 'November', 12 => 'December');
/**
* Wat is de eerste dag van de maand?
*/
$l_nEersteDag = date("w", mktime(0,0,0,$l_dMaand,0,$l_dJaar));
/**
* Uit hoeveel dagen bestaat de maand
*/
$l_nDagenInMaand = date("t",mktime(0,0,0,$l_dMaand,1,$l_dJaar));
/**
* Totaal aantal dagen
*/
$l_nTotaal = $l_nEersteDag + $l_nDagenInMaand;
/**
* Aantal weken/rijen
*/
$l_nWeken = ceil($l_nTotaal/7);
echo ("<table>");
echo ("<tr>");
echo ("<td colspan='7'>".$l_aMaanden[$l_dMaand]." ".$l_dJaar."</td>");
echo ("</tr>");
echo ("<tr>");
echo ("<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Ma</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Di</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Wo</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Do</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Vr</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Za</td>
<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>Zo</td>");
echo ("</tr>");
/**
* De hee som op het scherm schrijven
*/
for($l_sCountDays = 0; $l_sCountDays < $l_nTotaal; $l_sCountDays++)
{
if($l_sCountDays < $l_nEersteDag || $l_sCountDays >= ( $l_nEersteDag + $l_nDagenInMaand ))
{
echo ("<td> </td>");
}
else
{
/**
* We doen hier -1 omdat de week vanaf zondag begint te tellen in php
* door de -1 maken we er een maandag van
*/
echo ("<td width='".$l_nBreedteVeld."' height='".$l_nHoogteVeld."'>". ($l_sCountDays -($l_nEersteDag - 1)) ."</td>");
if(($l_sCountDays + 1) % 7 == 0)
{
echo ("</tr><tr>");
}
}
}
echo ("<tr>");
echo ("</tr>");
echo ("</table>");
?>
Gewijzigd op 01/01/1970 01:00:00 door Mark Eilander
Verder zou ik de dubbele en enkele quotes omdraaien. HTML eist namelijk het gebruik van dubbele quotes...
$month = 11;
$year = 2007;
dan is het vandaag dinsdag in plaats van maandag.
$l_dMaand = 11; // 1 cijferig
$l_dJaar = 2007; // 4 cijferig
Maar krijg bij de 19e gewoon de goede dag :S
heb in de mktime functie $month en $year gebruikt ipv
$l_dMaand en $l_dJaar!
Hij loopt nog steeds één dag vóór.
$l_nEersteDag = date("w", mktime(0,0,0,$l_dMaand,1,$l_dJaar));
wordt
$l_nEersteDag = date("w", mktime(0,0,0,$l_dMaand,0,$l_dJaar));
Als het goed is is het script nu goed.
Gewijzigd op 01/01/1970 01:00:00 door Mark Eilander
Zo is ie beter.
Haha, schoonheids foutjes blijf je houden he ;).