kalender: kom er niet uit..

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

13/10/2004 10:35:00
Quote Anchor link
ik heb de volgende code:

<table align="left" border="1" width="100%">
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
<?
                            //n = maannr
                            $maand=date("n");
                            //geef voor elk maandnr een maandnaam
                            $maandnamen=array("","januari","februari","maart","april","mei","juni","juli","augustus","september","oktober","november","december");
                            //huidig jaartal
                            $jaarvanvandaag = date("Y");
                            //huidige dag
                            $dagvanvandaag = date('w');
                            //geef voor elk dagnr een naam                  
                            $dagnamen=array("ma","di","wo","do","vr","za","zo");
                            //aantal dage dat huidige maand heeft
                            $aantaldagen = date("j");
                            //laatste dag van de maand. Wordt gebruikt om juiste aantal dagen uit te printen
                            $laatstedagvdmaand= date ("d", mktime(0, 0, 0, $maand+1, 0, $jaarvanvandaag));
                            
                            ?>

<tr>
<td colspan="6" align="center">Jaar:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $jaarvanvandaag ?>
</td>
</tr>
<tr>
<td colspan="6">Maand:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $maandnamen[$maand] ?>
</td>
</tr>
<tr>
<td colspan="6">Het is vandaag:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? echo $dagnamen[$dagvanvandaag] ?>
</td>
</tr>
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?
                                $result
= mysql_query("SELECT * FROM weekdag");
                                while ($obj=mysql_fetch_object($result))
                                {

                                    $weekdag = $obj -> weekdag;
                            
                            echo"<tr><td>$weekdag</td><td>2</td><td>3</td><td>4</td><td>5</td><td>6</td></tr>";
                            }

                            ?>

</table>
nu moet er op de 2de <td> op de juiste <tr> de juiste data's hebben..

dus: -4 -12
ma -5 - etc
di -6
wo -7
do -8
vr -1 -9
za -2 -10
zo -3 -11
 
PHP hulp

PHP hulp

16/01/2025 21:00:55
 
Mary

mary

13/10/2004 11:25:00
Quote Anchor link
Allow me to speak for all of us : HUH?

Even een beetje beter uitleggen misschien?
 

13/10/2004 11:33:00
Quote Anchor link
haha,
het gaat mij om het onderstaande schemaatje..

ma 4 11
--------------------
di 5 12
--------------------
wo 6 etc
--------------------
do 7
--------------------
vr 1 8
--------------------
za 2 9
--------------------
zo 3 10
--------------------

die getallen zijn datums die uit een tabel gelezen moeten worden.
Dit is van de maand oktober, en 1 oktober valt op een vrijdag, dus moet ie ook op de juiste plaats komen...
Het gaat mij dus om de plaatsing van de datums op de juiste plek
 
Mary

mary

13/10/2004 11:36:00
Quote Anchor link
Ahzo :-)
Kijk nu komen we ergens ;-)

Tja gezien je enkel rij per rij kan laten uitschrijven in php zal je dus de eerste maandag van de maand moeten gaan zoeken en vandaar beginnen (voor oktober is dit dus 4).
Dan per cel 7 bijtellen totdat je aan een getal komt dat groter is dan het aantal dagen in de maand. Dan moet je dus terug vanvoor af aan beginnen met de dinsdagen in te vullen.

Niet meteen een simpele opgave...
 

13/10/2004 11:46:00
Quote Anchor link
hmm ja, klopt rij per rij..
maar hoe koppel ik de zooi.. ik bedoel hoe ziet ie dat de eerste <td> leeg moet zijn, de 2de een 4 etc..
 
Mary

mary

13/10/2004 12:06:00
Quote Anchor link
Wat wil je eigenlijk maken? Een algemene kalender waarbij een bepaalde datum wordt ingegeven/opgezocht en daarvan de maandkalender wordt getoond of gewoon de kalender van de huidige maand?
 

13/10/2004 12:28:00
Quote Anchor link
hee mary, bedankt voor hulp alvast.. top;)
Het gaat om een huidige kalender.. waarmee je met een knop volgende naar de volgende maand gaat.
Als je op een bepaalde datum klikt, dan opend en nieuw scherm waarbij je werktijden voor een werknemer kan vastleggen.
Dus van elke datum maak ik denk ik een href die een id meekrijgt..

maar om ff terug te komen ik heb ff gezocht..met
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? $eerstedag = date("w", mktime(0, 0, 0, $maand, 1, $year)); ?>
krijg ik de eerste dag terug in een getal, dus in oktober een 5.
ik kan denk ik niet 1 lus maken, maar moet denk ik elke rij definieren.. dus:
<tr><td></td><td></td><td></td><td></td><td></td></tr>
<tr><td></td><td></td><td></td><td></td><td></td></tr>
en dat 7 keer...

maar goed, inhoud wordt dan zoiets:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<? <tr>if ($eerstedag ==1)echo"<td>schrijven die handel</td>else<td></td>if(vorige +7) -> hoe ga ik dat doen?
?>


er zijn minimaal 4 cellen, dus daarna hoef ik pas te kijken of groter is dan laatstedag vd maand..
 
Mary

mary

13/10/2004 12:47:00
Quote Anchor link
Eerst en vooral, dit werkt niet :

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
<? <tr>if ($eerstedag ==1)echo"<td>schrijven die handel</td>else<td></td>if(vorige +7)" ...
?>


Je bent HTML en PHP code door elkaar aan het husselen. PHP code moet geparsed worden (maw. uitgevoerd op de server) en de resultaten daarvan moeten getoond/behandeld worden.
HTML code wordt gewoon op een pagina geplaatst een weergegeven.

Er kunnen maximum 7 kolommen nodig zijn in een kalender (inclusief de dagnamen).
Dus je zal ongeveer zo moeten beginnen :

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
<?
echo "<table>";
for($i=0;$i<7;$i++)
{

    if($i==0)//nieuw rij beginnen
    {
        echo "<tr>";
        echo "<td>".$ardag[$i]."</td>";//$ardag begint bij 0= maandag!
    for($j=0;$j<$lengtemaand;$j++)
    {

        echo "<td></td>";//dagen per cel invullen
    }
    echo "</tr>";
}

echo "</table>";
?>


Ik wil er wel even op wijzen dat het maken van zo'n kalender echt zeer ingewikkeld is en er voldoende bruikbare kalenderscripts op het net te vinden zijn.
Ik gebruik zelf Fuushikadens javascript popupkalendertje. Dit geeft bij aanroep een mooie popup (layer eigenlijk) waar de gebruiker een datum kan kiezen en deze wordt teruggegeven in een tekstvak.
Gewijzigd op 13/10/2004 12:48:00 door mary
 
Alfred -

Alfred -

13/10/2004 13:31:00
Quote Anchor link
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
{
   echo "<td></td>";//dagen per cel invullen
}
?>


isset ni <td>&nbsp;</td> ? Denk dat als je dit leeg laat, je mss problemen kan krijge...
 

13/10/2004 13:32:00
Quote Anchor link
ja, dat het html/ php door elkaar is weet ik ook. Ik heb ook niet gezegd dat het moest werken. Het was ff een globale weergave en om aan te geven dat het om code ging gewoon ff tussen
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<? ?>
gezet.

Ben bang dat ik het wel zelf moet gaan schrijven...Wist niet dat het zo pittig zou zijn.
en met je popup kalender zou ik nog geen tijden per dag kunnen aangeven, maar alleen dagen.
Maar waar kan ik em downen? ff kijken..
 

13/10/2004 13:34:00
Quote Anchor link
Rafael:
Quote:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?
{
   echo \"<td></td>\";//dagen per cel invullen
}
?>


isset ni <td> </td> ? Denk dat als je dit leeg laat, je mss problemen kan krijge...


daar komen de dagen in;) anders heb ik een lege kalender
 



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.