$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;