function calc_dur($data) { if($data['date']) return $data['duration']; else return $data['enddate']-$data['startdate']; } $table = '' for($day=STARTTAG; $day<=$ENDTAG; $day++) { // 'k, um den richtigen Tag als Datum, timestamp, whatever zu haben muss man etwas basteln... $q=pg_query("SELECT * FROM activities WHERE ( startdate<=$day AND enddate>=$day+23h59m ) OR date=$day;"); $total_dur = 0; while($r=pg_fetch_array($q)) { $total_dur += ($dur = cal_dur($r)); $table .= "{$r['activity_name']}{$r['activity_desc']}$dur" } $table .= "$day, $total_dur Gesamt" } echo "$table
";