Hi Folks. I have my array that I will populate with a title and startdate and enddate. This will be done using a query but I've done it manually here so you can see the test data. I then want to loop thorugh the days in a month and highlight the days that will have events. Problem is I get 3 of everything, here is the result of this page: [a href=\"http://www.w00t.biz/result.html\" target=\"_blank\"]http://www.w00t.biz/result.html[/a] Can anyone help me with this please? Thanks [code] <?php $n = 1; for ($n = 1; $n <= 3; $n++){ //set event dates to array $events['event1']['title'] = 'test event 1'; $events['event1']['startdate'] = mktime(0, 0, 0, 3, 5, 2006); $events['event1']['enddate'] = mktime(0, 0, 0, 3, 8, 2006); $events['event2']['title'] = 'test event 2'; $events['event2']['startdate'] = mktime(0, 0, 0, 3, 6, 2006); $events['event2']['enddate'] = mktime(0, 0, 0, 3, 7, 2006); $events['event3']['title'] = 'test event 3'; $events['event3']['startdate'] = mktime(0, 0, 0, 3, 22, 2006); $events['event3']['enddate'] = mktime(0, 0, 0, 3, 26, 2006); echo $events['event'.$n]['title'] . "<br>"; echo date('d',$events['event'.$n]['startdate']) . "<br>"; echo date('d',$events['event'.$n]['enddate']) . "<br>"; echo "<br><br>"; } echo "<p><p><p>"; for ($p = 1; $p <= 31; $p++) { $i = 1; while (isset($events['event'.$i])) { if ( (date('d',$events['event'.$i]['startdate']) < $p AND date('d',$events['event'.$i]['enddate']) > $p ) OR (date('d',$events['event'.$i]['startdate']) == $p OR date('d',$events['event'.$i]['enddate']) == $p )) { echo "<b>" . $p . "</b>" . "<br>"; } else{ echo $p . "<br>"; } $i++; } } ?> [/code]