$from = $_POST['from'];
$from1   = $from[6].$from[7].$from[8].$from[9].'-'.$from[0].$from[1].'-'.$from[3].$from[4].'<br>';
$to   = $_POST['to'];
$to1   = $to[6].$to[7].$to[8].$to[9].'-'.$to[0].$to[1].'-'.$to[3].$to[4];
//объекты
$objects = array();
$r = mysql_query( "SELECT * FROM `objects` ORDER BY `rating`" ) or die( mysql_error() );
while ($a = mysql_fetch_assoc($r)) {
   $objects[$a['id']] = array('name'    => $a['name'],
							  'orgname' => $a['orgname']);
}
//данные
$data = array();
//сутки
$days = array();
//Получаем данные одним запросом
$r = mysql_query("SELECT * FROM `data` WHERE `date` >= '$from1' AND `date` <= '$to1'") or die( mysql_error() );
while ($a = mysql_fetch_assoc($r)) {
   //сохраняем для вывода в html
   $days[$a['date']] = $a['date'];   
   //данные по суткам
   $data[$a['objid']][$a['date']] += $a['pl_min'];   
}
// Функция записи временного диапазона в массив
function getDateRange($from, $to)
{
$t1 = strtotime($from);
$t2 = strtotime($to) + 3600;
$dates = array();
for($i = $t1; $i <= $t2; $i += 86400)
$dates[] = date("Y-m-d",$i);
return $dates;
}
$dates = getDateRange($from, $to);
$html = '';
$html .= '<table border=1>';
$html .=    '<tr>';
$html .=       '<th>Название</th><th>Организация</th>';
// Вывод дат диапазона в "шапку" таблицы
foreach ($dates as $dt)
{
	$dt1   = $dt[8].$dt[9].'-'.$dt[5].$dt[6].'-'.$dt[0].$dt[1].$dt[2].$dt[3];
	$html .= '<th>'. $dt1 .'</th>';
}
$html .=    '</tr>';
$html .=    '<tr>';
foreach ($data as $objid => $day_plmin) {
   $html .=    '<td>'.$objects[$objid]['name'].'</td>'.
			   '<td>'.$objects[$objid]['orgname'].'</td>';
   foreach ($dates as $day) {
      $html .= '<td align=center>'.(isset($day_plmin[$day]) ? '+' : '-').'</td>';
   }
$html .=    '</tr>';
}
$html .= '</table>';
echo $html;