Hi,
Thanks for your replies, I have the basics working, but I would like it to be a bit more clever than it is.
The problem is when an event doesnt start on the hour. How do you think I could state that?
Do you think it would be possible to stretch a div across the amount of time the room is in use?
Thankyou
<?php
$todaysdate = mktime(0, 0, 0, 3, 5, 2006);
//set event dates to array
$events['event1']['title'] = 'test event 1';
$events['event1']['startdate'] = mktime(9, 30, 0, 3, 5, 2006);
$events['event1']['enddate'] = mktime(11, 0, 0, 3, 5, 2006);
$events['event1']['roomid'] = 16;
$events['event2']['title'] = 'test event 2';
$events['event2']['startdate'] = mktime(10, 0, 0, 3, 5, 2006);
$events['event2']['enddate'] = mktime(11, 0, 0, 3, 5, 2006);
$events['event2']['roomid'] = 2;
$events['event3']['title'] = 'test event 3';
$events['event3']['startdate'] = mktime(12, 0, 0, 3, 5, 2006);
$events['event3']['enddate'] = mktime(13, 0, 0, 3, 5, 2006);
$events['event1']['roomid'] = 11;
$events['event4']['title'] = 'test event 4';
$events['event4']['startdate'] = mktime(15, 0, 0, 3, 5, 2006);
$events['event4']['enddate'] = mktime(16, 0, 0, 3, 5, 2006);
$events['event1']['roomid'] = 26;
$events['event5']['title'] = 'test event 4';
$events['event5']['startdate'] = mktime(15, 0, 0, 3, 5, 2006);
$events['event5']['enddate'] = mktime(16, 0, 0, 3, 5, 2006);
$events['event1']['roomid'] = 26;
//set rooms to array
$rooms['room1']['name'] = 'big room';
$rooms['room1']['id'] = 16;
$rooms['room2']['name'] = 'music room';
$rooms['room2']['id'] = 2;
$rooms['room3']['name'] = 'sports hall';
$rooms['room3']['id'] = 11;
$rooms['room4']['name'] = 'refectory';
$rooms['room4']['id'] = 15;
$rooms['room5']['name'] = 'recepetion';
$rooms['room5']['id'] = 26;
//$addy[] = array(
//'title'=>$event['title'],
//'startdate'=>$event['startdate']);
echo "<table width='100%'>\n";
echo " <tr>\n";
echo " <td> </td>";
//list room names for first row
foreach ($rooms as $room) {
echo "<td>" . $room['name'] . "</td>\n";
}
echo " </tr>\n";
// loop through hours in day
for ($i = 9; $i < 18; $i++)
{
echo " <tr>\n";
// display hour at start of row
echo " <td>" . date('G', mktime($i, 0, 0, 0, 0, 2006)) . "</td>\n";
// loop through rooms to create columns
foreach ($rooms as $room) {
echo "<td>\n";
// set time for that table cell
$todaysdate = date('G',mktime($i, 0, 0, 3, 5, 2006));
//loop through events
foreach ($events as $event) {
if ((date('G', $event['startdate']) <= $todaysdate && date('G', $event['enddate']) >= $todaysdate)){
echo "in use </ br>";}
else{
echo " ";
}
}
echo "</td>\n";
}
echo "</tr>\n";
}
echo "</table>";
?>