Kalender script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mark Eilander

Mark Eilander

19/11/2007 18:02:00
Quote Anchor link
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.

Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
<?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>&nbsp;</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
 
PHP hulp

PHP hulp

29/03/2024 00:24:38
 
Joren de Wit

Joren de Wit

19/11/2007 18:06:00
Quote Anchor link
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...
 
- SanThe -

- SanThe -

19/11/2007 18:22:00
Quote Anchor link
Als ik jouw script test met
$month = 11;
$year = 2007;
dan is het vandaag dinsdag in plaats van maandag.
 
Mark Eilander

Mark Eilander

19/11/2007 18:36:00
Quote Anchor link
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
 
Mark Eilander

Mark Eilander

19/11/2007 18:39:00
Quote Anchor link
Gevonden:

heb in de mktime functie $month en $year gebruikt ipv
$l_dMaand en $l_dJaar!
 
- SanThe -

- SanThe -

19/11/2007 18:44:00
Quote Anchor link
Hij loopt nog steeds één dag vóór.
 
Mark Eilander

Mark Eilander

19/11/2007 18:46:00
Quote Anchor link
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.
Gewijzigd op 01/01/1970 01:00:00 door Mark Eilander
 
- SanThe -

- SanThe -

19/11/2007 18:54:00
Quote Anchor link
Zo is ie beter.
 
Mark Eilander

Mark Eilander

19/11/2007 18:56:00
Quote Anchor link
Haha, schoonheids foutjes blijf je houden he ;).
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.