grizzlybeer
Gebruiker
- Lid geworden
- 30 jan 2007
- Berichten
- 58
Hallo allemaal,
Ik was bezig om een kalender te maken maken met behulp van PHP. (Met de kalender zal het mogelijk zijn om data te selecteren voor een boeking). Bij de boeking zal het zowel gaan om aankomst en vertrek datum (evt. ook het aantal personen).
Het probleempje waar ik tegen aanloop is het niet kunnen selecteren van een datum uit de kalender. De dagen van de maand krijg ik wel op het scherm te zien. (Zie hiervoor de printMaand functie)
Hieronder de code:
Alvast bedankt.
Ik was bezig om een kalender te maken maken met behulp van PHP. (Met de kalender zal het mogelijk zijn om data te selecteren voor een boeking). Bij de boeking zal het zowel gaan om aankomst en vertrek datum (evt. ook het aantal personen).
Het probleempje waar ik tegen aanloop is het niet kunnen selecteren van een datum uit de kalender. De dagen van de maand krijg ik wel op het scherm te zien. (Zie hiervoor de printMaand functie)
Hieronder de code:
PHP:
<?php
$year = date('Y');
$month = date('n');
$dag = date('w');
$d = date('d');
$m = date('m');
$h = date('H');
$i = date('i');
$s = date('s');
$j = date('j');
if(isset($year) && isset($month))
{
$next_year = $year+1;
$last_year = $year-1;
$huidige_dag = date("d",mktime(0,0,0,date("m"),date("d"),date("Y")));
$maanden = array('','januari','februari','maart','april','juni','juli','augustus','september','oktober','november','december');
$dagen = array('zondag','maandag','dinsdag','woensdag','donderdag','vrijdag','zaterdag');
$nextmonth = date("M",mktime(0,0,0,date("n")+1,date("j"),date("Y")));
$lastmonth = date("M",mktime(0,0,0,date("n")-1,date("j"),date("Y")));
$tomorrow = date("d",mktime(0, 0, 0, date("m") , date("d")+1, date("Y")));
$days = date("t",mktime(0,0,0,date("n"),date("j"),date("Y")));
$lastday = mktime(0, 0, 0, $maand, 0, $year);
$aantal = strftime("%d",$lastday);
printMaand($month,$year);
for($i=1; $i<=$days; $i++)
{
echo "$i<br />\n";
}
}
function firstDay($maand, $jaar)
{
$firstday = mktime(0,0,0,$maand,0,$jaar);
$fday = date('w',$firstday);
return $fday;
}
function lastDay($maand,$jaar)
{
$lastday = mktime(0, 0, 0, $maand, 0, $jaar);
$ldays = date("t",mktime(0,0,0,date("n"),date("j"),date("Y")));
return $ldays;
}
function restDays($fdag, $lday) {
$rest = ($fdag + $lday) % 7;
if($rest != 0)
{
$rest = 7 - $rest;
}
return $rest;
}
function printMaand($maand, $jaar)
{
$fday = firstDay($maand, $jaar);
$lday = lastDay($maand, $jaar);
$rest = restDays($fday, $lday);
$FirstDay = mktime(0, 0, 0, $month, 1, $year);
$lastday = mktime(0, 0, 0, $month, 0, $year);
$firstday = date("d-m-Y",mktime(0, 0, 0, date("m"), date("d"), date("Y")));
$lastday = date("d-m-Y",mktime(0, 0, 0, date("m"), date("d")+1, date("Y")));
$days = date("t",mktime(0,0,0,date("n"),date("j"),date("Y")));
$lastday = mktime(0, 0, 0, $maand, 0, $jaar);
$vandaag = mktime(0,0,0,date('n',time()),date('d', time()), date('Y', time()));
$weekdag = array('Ma', 'Di', 'Wo', 'Do', 'Vr', 'Za', 'Zo');
echo "\n".'<table><tr>';
foreach($weekdag as $dag)
{
echo '<td>'.$dag.'</td>';
}
echo '</tr><tr>'."\n";
for($i = 0; $i<($fday + $lday + $rest ); $i++)
{
if($i < $fday || $i >= ( $fday + $lday ))
{
echo '<td> </td>'."\n";
}
else
{
if(date('d', $vandaag) == ($i - ($fday - 1)) && date('m') == $maand && date('Y') == $jaar)
{
echo '<td bgcolor="#CCCCCC">'. ($i -($fday - 1)) .'</td>'."\n";
}
else
{
echo '<td>'. ($i -($fday - 1)) .'</td>'."\n";
}
if(($i + 1) % 7 == 0)
{
echo '</tr><tr>'."\n";
}
}
}
echo '</tr></table>';
}
?>
Laatst bewerkt door een moderator: