It depends on the values of $event['startdate'] and $event['enddate']
Personally, I like to do everything in Unix time which is an integer that represents the number of seconds since the Epoch (Midnight, Dec 31, 1969).
If $event['startdate'] is already in that format (Unix time), then it's a 9 or 10 digit number and you'd write the code like this:
$todaysdate = time();
if (($event['startdate'] <= $todaysdate && $event['enddate'] >= $todaysdate && $room['roomID'] == $event['roomID']) || ($event['enddate'] > $enddate && $room['roomID'] == $event['roomID']))
If you are not using Unix time for those variables, then > and < won't really work. I like to convert everything to Unix time because it's easy to compare numbers to numbers. It's also easy to figure out what 3 days later and 6 days earlier is. For example $three_days_ago = time() - (3 * 86400); (because there are 86400 seconds in a day).
If you are not using Unix time, then you will have to convert $event['startdate'] to Unix time. I think the strtotime() function is very helpful. Info here: http://us3.php.net/manual/en/function.strtotime.php