query('TRUNCATE TABLE data_finance'); $Database->select_db('wow'); $DbRows = array(); $DbResult = $Database->query('SELECT (SELECT IFNULL(SUM( money ), 0) FROM finance AS fin WHERE fin.time <= f.time ) AS money, time FROM finance AS f ORDER BY f.time ASC'); echo($Database->error); while($DbRows[] = $DbResult->fetch_assoc()); $DbRows[count($DbRows) - 1] = $DbRows[count($DbRows) - 2]; //print_r($DbRows); $Measure = GetMeasureById($MeasureId); $LastTime = 0; $Database->select_db('statistic'); foreach($DbRows as $Index => $DbRow) { if($Index < (count($DbRows) - 1)) { $TimeEnd = MysqlDateTimeToTime($DbRows[$Index + 1]['time']); $TimeStart = MysqlDateTimeToTime($DbRows[$Index]['time']); $TimeDiff = ($TimeEnd - $TimeStart) / $Measure['Period']; echo('Period:'.$Measure['Period'].' Diff:'.$TimeDiff.' '.($TimeEnd - $TimeStart)."\n"); for($I = 0; $I < $TimeDiff; $I++) { echo('*'); $Value = $DbRows[$Index]['money']; //echo(TimeToMysqlDateTime($TimeStart + $Measure['Period'] * $I)." ".$DbRows[$Index]['money']." \n"); AddValue($Measure, array('min' => $Value, 'avg' => $Value, 'max' => $Value), 0, $TimeStart + $Measure['Period'] * $I); } echo('#'); } } echo("\n"); ?>