Kalender script
Goede avond,
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.
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
Opmerking over de scripting: echo is geen functie en de haakjes horen daar dus eigenlijk ook niet thuis.
Verder zou ik de dubbele en enkele quotes omdraaien. HTML eist namelijk het gebruik van dubbele quotes...
Verder zou ik de dubbele en enkele quotes omdraaien. HTML eist namelijk het gebruik van dubbele quotes...
Als ik jouw script test met
$month = 11;
$year = 2007;
dan is het vandaag dinsdag in plaats van maandag.
$month = 11;
$year = 2007;
dan is het vandaag dinsdag in plaats van maandag.
Heb hetzelfde gedaan als jij beschrijft:
$l_dMaand = 11; // 1 cijferig
$l_dJaar = 2007; // 4 cijferig
Maar krijg bij de 19e gewoon de goede dag :S
$l_dMaand = 11; // 1 cijferig
$l_dJaar = 2007; // 4 cijferig
Maar krijg bij de 19e gewoon de goede dag :S
Gevonden:
heb in de mktime functie $month en $year gebruikt ipv
$l_dMaand en $l_dJaar!
heb in de mktime functie $month en $year gebruikt ipv
$l_dMaand en $l_dJaar!
Hij loopt nog steeds één dag vóór.
Je hebt gelijk, heb het nu opgelost als het goed is.
$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.
$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 ;).




