Ik heb volgens mij alle tips ter harte genomen, dank dank dank.
Ben nog wel even bezig met mijn projectje, maar stap 1 is er. Het volgende werkt nu:
<html>
<head>
<style>
/* calendar */
table.calendar { border-left:1px solid #999; }
tr.calendar-row { }
td.calendar-day { min-height:200px; font-family:verdana; font-size:10px; padding-left:10px; position:relative; } * html div.calendar-day { height:200px; }
td.calendar-day:hover { background:#ece5ff; }
td.calendar-day-np { background:#eee; min-height:200px; } * html div.calendar-day-np { height:200px; }
td.calendar-day-head { font-family:verdana; font-size:14px; background:#ccc; font-weight:bold; text-align:center; width:250px; padding:5px; border-bottom:1px solid #999; border-top:1px solid #999; border-right:1px solid #999; }
div.day-number { font-family:verdana; font-size:16px; background:#33F; padding:0px; color:#fff; font-weight:bold; float:right; vertical-align:top; margin:-5px -5px 0 0; margin-top:0; width:25px; height:100px; text-align:center; }
/* shared */
td.calendar-day, td.calendar-day-np { width:250px; padding:5px; border-bottom:1px solid #999; border-right:1px solid #999;height:100px; }
/* month + year */
h2 { font-family:verdana; font-size:16px; }
hr { thin solid #000; }
</style>
</head>
<body>
<?php
$items = array();
$events = array();
// $items[] = array("CAT","Datum","Link","","Naam","Vertrekplaats","Afstand","Tijd","Opmerking","Ingeschreven","Staat Datum Vast");
$items[] = array("VAK","27-02-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","28-02-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","29-02-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","01-03-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","02-03-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","03-03-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","04-03-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","05-03-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","06-03-2016",""," ","Voorjaarsvakantie","","","","","","Ja");
$items[] = array("VAK","28-03-2016",""," ","Pasen","","","","","","");
$items[] = array("VAK","27-04-2016",""," ","Koningsdag","","","","","","");
$items[] = array("VAK","30-04-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","01-05-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","02-05-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","03-05-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","04-05-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","05-05-2016",""," ","Hemelvaartsdag","","","","","","");
$items[] = array("VAK","06-05-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","07-05-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","08-05-2016",""," ","Meivakantie","","","","","","Ja");
$items[] = array("VAK","16-05-2016",""," ","Pinksteren","","","","","","");
$items[] = array("VAK","16-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","17-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","18-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","19-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","20-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","21-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","22-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","23-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","24-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","25-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","26-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","27-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","28-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","29-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","30-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","31-07-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","01-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","02-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","03-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","04-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","05-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","06-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","07-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","08-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","09-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","10-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","11-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","12-08-2016",""," ","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","13-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","14-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","15-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","16-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","17-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","18-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","19-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","20-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","21-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","22-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","23-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","24-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","25-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","26-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","27-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","28-08-2016","","","Zomervakantie","","","","","","Ja");
$items[] = array("VAK","15-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","16-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","17-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","18-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","19-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","20-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","21-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","22-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","23-10-2016","","","Herfstvakantie","","","","","","Ja");
$items[] = array("VAK","24-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","25-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","26-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","27-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","28-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","29-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","30-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","31-12-2016","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","01-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","02-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","03-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","04-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","05-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","06-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","07-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("VAK","08-01-2017","","","Kerstvakantie","","","","","","");
$items[] = array("SK","27-02-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("SK","28-02-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("SK","29-02-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("SK","01-03-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("SK","02-03-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("SK","03-03-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("SK","04-03-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("SK","05-03-2016",""," ","Wintersport","Wagrain","","","","","Ja");
$items[] = array("AJ","23-01-2016",""," ","Ajax-Vitesse","Amsterdam","","","19:45","","");
$items[] = array("AJ","26-01-2016",""," ","Ajax-Heracles","Amsterdam","","","20:45","","");
$items[] = array("AJ","07-02-2016",""," ","Ajax-Feyenoord","Amsterdam","","","12:30","","");
$items[] = array("AJ","21-02-2016",""," ","Ajax-Excelsior","Amsterdam","","","14:30","","");
$items[] = array("AJ","28-02-2016",""," ","Ajax-AZ","Amsterdam","","","16:45","","");
$items[] = array("AJ","13-03-2016",""," ","Ajax-NEC","Amsterdam","","","16:45","","");
$items[] = array("AJ","20-03-2016",""," ","PSV-Ajax","Groningen","","","16:45","","");
$items[] = array("AJ","03-04-2016",""," ","Ajax-Zwolle","Amsterdam","","","16:45","","");
$items[] = array("AJ","17-04-2016",""," ","Ajax-Utrecht","Amsterdam","","","12:30","","");
$items[] = array("AJ","01-05-2016",""," ","Ajax-FC Twente","Amsterdam","","","14:30","","");
$items[] = array("HL","02-01-2016","http://www.runnersstadskanaal.nl/index.php?page=691&sid=2"," ","Noorderpoort Nieuwjaarsloop","Stadskanaal","10K","","Loopcircuit Schutrups","Ja","Ja");
$items[] = array("HL","14-02-2016","http://www.groetuitschoorl.nl/algemeen-10-km/"," ","Groet uit Schoorl","Schoorl","10K","","Inschrijven vanaf 24 augustus 2015","","Ja");
$items[] = array("HL","26-03-2016","http://www.loopcircuitdewolden.nl/"," ","Viaductenloop","Zuidwolde","10K","","Loopcircuit De Wolden","","");
$items[] = array("HL","10-04-2016","http://www.nnmarathonrotterdam.nl/"," ","NN Marathon Rotterdam","Rotterdam","M","","","Ja","Ja");
$items[] = array("HL","17-04-2016","http://www.cascaderun.nl/nl/deelnemers-bedrijventeams/individuele-deelnemers/"," ","Cascaderun","Hoogeveen","5EM","","","","Ja");
$items[] = array("HL","05-05-2016","http://www.nachtvangroningen.nl/"," ","Nacht van Groningen","Groningen","10K","","","","");
$items[] = array("HL","07-05-2016","http://www.loopcircuitdewolden.nl/"," ","Crossloop","Zuidwolde","10K","","Loopcircuit De Wolden","","");
$items[] = array("HL","18-05-2016","http://www.acerflanden.nl/erflandenrun/"," ","Erflandenrun","Hoogeveen","10K","","","","");
$items[] = array("HL","22-05-2016","http://www.loopleeuwarden.frl/hardlopen/"," ","Loop van Leeuwarden","Leeuwarden","10K","","Inschrijving geopend","","Ja");
$items[] = array("HL","29-05-2016","www.svveendamatletiek.nl"," ","Valkema Parkstadloop","Veendam","10K","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","05-06-2016","http://www.loopcircuitdewolden.nl/"," ","Mooi Ruinen Run","Ruinen","10K","","Loopcircuit De Wolden","","");
$items[] = array("HL","08-06-2016","http://www.avaquilo.nl"," ","Oud Alteveerloop","Nieuwe Pekela","10K","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","12-06-2016","http://run4.educaided.org/"," ","Run4Educaided","Groningen","4EM","","","","Ja");
$items[] = array("HL","19-06-2016","www.svveendamatletiek.nl"," ","Natuurloop Meerwijck","Kropswolde","10K","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","25-06-2016","http://www.univestadsloop.nl/"," ","Unive Stadsloop","Appingedam","10K","","","","");
$items[] = array("HL","25-06-2016","http://www.runnersstadskanaal.nl"," ","Onstwedderomloop","Onstwedde","10K","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","10-08-2016","http://www.loopcircuitdewolden.nl/"," ","Alkeloop","Alteveer","10K","","Loopcircuit De Wolden","","");
$items[] = array("HL","20-08-2016","http://www.desnellerakkers.nl/Singelloop/Singelloop.php"," ","Singelloop","Hollandscheveld","10K","","","","");
$items[] = array("HL","25-08-2016","http://www.loopcircuitdewolden.nl/"," ","Wiekloop","De Wijk","10K","","Loopcircuit De Wolden","","");
$items[] = array("HL","03-09-2016","http://www.loopcircuitdewolden.nl/"," ","Dijkhuizenrun","Ruinerwold","10K","","Loopcircuit De Wolden","","");
$items[] = array("HL","03-09-2016","http://www.avaquilo.nl"," ","Jaarmarktloop","Oude Pekela","10K","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","10-09-2016","http://www.runwinschoten.nl/"," ","Run Winschoten","Winschoten","10K","","","","");
$items[] = array("HL","18-09-2016","http://www.damloop.nl/"," ","Dam tot Damloop","Amsterdam","10EM","","","","Ja");
$items[] = array("HL","25-09-2016","http://www.runnersstadskanaal.nl"," ","Schutrups Run","Exloo","HM","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","02-10-2016","http://www.loopcircuitdewolden.nl/"," ","Bikkelloop","Zuidwolde","10K","","Loopcircuit De Wolden","","");
$items[] = array("HL","09-10-2016","http://4mijl.nl/"," ","4Mijl van Groningen","Groningen","4EM","","","","Ja");
$items[] = array("HL","23-10-2016","http://zeemijlenloopdelfzijl.nl/"," ","Zeemijlenloop","Delfzijl","6ZM","","","","");
$items[] = array("HL","29-10-2016","http://avdcross.nl/category/nieuws/"," ","Dwingelderveldloop","Dwingeloo","HM","","","","");
$items[] = array("HL","06-11-2016","http://www.runnersstadskanaal.nl"," ","Polderputten Bosloop","Ter Apel","10K","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","12-11-2016","http://www.avaquilo.nl"," ","Virol Sinterklaasloop","Scheemda","10K","","Loopcircuit Schutrups","Ja","");
$items[] = array("HL","20-11-2016","http://www.zevenheuvelenloop.nl/"," ","Zevenheuvelenloop","Nijmegen","15K","","Inschrijven vanaf 1 juni 2016","","Ja");
$items[] = array("HL","18-12-2016","http://www.avaquilo.nl"," ","Valkema Sport Oudejaarsloop","Blijham","HM","","Loopcircuit Schutrups","Ja","");
/* rearrange the array to event["Datum"][] = array("0CAT","1Link","2Naam","3Vertrekplaats","4Afstand","5Tijd","6Opmerking","7Ingeschreven","8Staat Datum Vast"); to make it searchable */
/* second bracket for double events on a date like on the 3rd of sep */
foreach($items as $event)
{
$events[$event[1]][] = $event;
}
$afstand = array('5K'=>5000,'4EM'=>6436,'5EM'=>8045,'10K'=>10000,'6ZM'=>11112,'15K'=>15000,'10EM'=>16090,'HM'=>21098,'M'=>42195);
$months = array('Januari','Februari','Maart','April','Mei','Juni','Juli','Augustus','September','Oktober','November','December');
/* draws a calendar */
function draw_calendar($month,$year)
{
/* draw table */
$calendar = '<table cellpadding="0" cellspacing="0" class="calendar">';
/* table headings */
$headings = array('Zondag','Maandag','Dinsdag','Woensdag','Donderdag','Vrijdag','Zaterdag');
$calendar.= '<tr class="calendar-row"><td class="calendar-day-head">'.implode('</td><td class="calendar-day-head">',$headings).'</td></tr>';
/* days and weeks vars now ... */
$running_day = date('w',mktime(0,0,0,$month,1,$year));
$days_in_month = date('t',mktime(0,0,0,$month,1,$year));
$days_in_this_week = 1;
$day_counter = 0;
$dates_array = array();
/* row for week one */
$calendar.= '<tr class="calendar-row">';
/* print "blank" days until the first of the current week */
for($x = 0; $x < $running_day; $x++)
{
$calendar.= '<td class="calendar-day-np"> </td>';
$days_in_this_week++;
}
/* keep going with days.... */
for($list_day = 1; $list_day <= $days_in_month; $list_day++)
{
$calendar.= '<td class="calendar-day">';
/* add in the day number */
$calendar.= '<div class="day-number">'.$list_day.'</div>';
/* make the date */
$list_day < 10 ? $dag = '0'.$list_day : $dag = $list_day;
$month < 10 ? $maand = '0'.$month : $maand = $month;
$jaar = ''.$year;
/* list the events (2nd entry in array) with that key */
$datekey = $dag.'-'.$maand.'-'.$jaar;
global $events;
global $afstand;
for($x=0;$x<sizeof($events[$datekey]);$x++)
{
$e = $events[$datekey][$x];
// HARDLOOPEVENEMENT
if($e[0] == 'HL')
{
$e[10] == "Ja" ? $ozh = "<font color=green></font>" : $ozh = "<font color=red>Datum onzeker</font>";
$calendar.='<p><b><a href="'.$e[2].'" title="
'.$e[4].' ('.$e[6].')
'.$e[8].'">'.$e[4].'</a><br/>'.$afstand[$e[6]].'m '.$ozh.'</b></p>';
}
else
{
$clr = '';
switch($e[0])
{
case 'AJ' : $clr = 'red'; break;
case 'VAK' : $clr = 'green'; break;
case 'SK' : $clr = 'orange'; break;
}
// OVERIG
$calendar.='<p><b><font color='.$clr.'>'.$e[4].'</font></b></p>';
}
}
$calendar.= '</td>';
if($running_day == 6)
{
$calendar.= '</tr>';
if(($day_counter+1) != $days_in_month)
{
$calendar.= '<tr class="calendar-row">';
}
$running_day = -1;
$days_in_this_week = 0;
}
$days_in_this_week++; $running_day++; $day_counter++;
}
/* finish the rest of the days in the week */
if($days_in_this_week < 8 && $days_in_this_week > 1)
{
for($x = 1; $x <= (8 - $days_in_this_week); $x++)
{
$calendar.= '<td class="calendar-day-np"> </td>';
}
}
/* final row */
$calendar.= '</tr>';
/* end the table */
$calendar.= '</table>';
/* all done, return result */
return $calendar;
}
/* well now, we can easily work with request variables */
/* forget about 2015 */
/* and continue with the complete year of 2016 */
for($i=0;$i<12;$i++)
{
echo '<h2>'.$months[$i].' 2016</h2>';
echo draw_calendar($i+1,2016);
}
?>
</body>
</html>