title: PHP model (MySQL) design problem
body: <p>I'm looking for the most efficient solution to the problem I'm running into.  I'm designing a shift calendar for our employees.  This is the table I'm working with so far:</p>
  
  <pre><code>CREATE TABLE IF NOT EXISTS `Shift` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `accountId` smallint(6) unsigned NOT NULL,
  `grpId` smallint(6) unsigned NOT NULL,
  `locationId` smallint(6) unsigned NOT NULL,
  `unitId` smallint(6) unsigned NOT NULL,
  `shiftTypeId` smallint(6) unsigned NOT NULL,
  `startDate` date NOT NULL,
  `endDate` date NOT NULL,
  `needFlt` bit(1) NOT NULL DEFAULT b'1',
  `needBillet` bit(1) NOT NULL DEFAULT b'1',
  `fltArr` varchar(10) NOT NULL,
  `fltDep` varchar(10) NOT NULL,
  `fltArrMade` bit(1) NOT NULL DEFAULT b'0',
  `fltDepMade` bit(1) NOT NULL DEFAULT b'0',
  `billetArrMade` bit(1) NOT NULL DEFAULT b'0',
  `billetDepMade` bit(1) NOT NULL DEFAULT b'0',
  `FacilityId` smallint(6) unsigned NOT NULL,
  `FacilityWingId` mediumint(9) unsigned NOT NULL,
  `FacilityRoomId` int(11) unsigned NOT NULL,
  `comment` varchar(255) NOT NULL,
  `creation` datetime NOT NULL,
  `lastUpdate` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  `lastUpdateBy` mediumint(9) unsigned NOT NULL,
  PRIMARY KEY (`id`)
  ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
  </code></pre>
  
  <p>Now here's the hitch - I'd like to be able to display on the calendar (in a different color) whether or not a timesheet has been received for a certain day.</p>
  
  <p>My first thought was to create a separate table and list separate entries by day for each employee, T/F.  But the amount of data returned from a separate query, for each employee, for the whole month would surely be huge and inefficient.</p>
  
  <p>Second thought was to somehow put the information in this Shift table, with delimiters - then exploding it with PHP.  Silly idea... but I guess that's why im here.  Any thoughts?</p>
  
  <p>Thanks for your help!</p>