<?php
include("config.php");
require('L:\testcenter\fpdf16\fpdf.php');
$pdf=new FPDF();
$pdf->AddPage('L');
$pdf->SetFont('Arial','B',8);
$pdf->SetTextColor(0);
$pdf->SetDrawColor(0,0,0);
$pdf->SetAutoPageBreak('false');
$ausgabe = mysql_query("SELECT tag, datum FROM tabelle ORDER BY timestamp") or die (mysql_error());
while($row = mysql_fetch_object($ausgabe)){
$date[$row->datum][] = $row->tag;
}
foreach($date AS $datum => $tag){
// Zählen wie viele Spalten eine Tabelle hat
$res = mysql_query("SELECT id FROM tabelle WHERE datum = '$datum' ORDER BY timestamp");
$menge = mysql_num_rows($res);
// Berechnen wie breit die Tabelle ist + Abstand zwischen den Tabellen
$spalten = ($menge + 1) * 10 + 5;
// Prüft ob das Array (weiter unten) schon geschrieben wurde. Wenn nicht, wird der Startwert gesetzt
if(!isset($breite[0])){$breite[0] = 10; $hoehe = 10;}
// Wird die Zeile zu lang, wird eine neue Zeile bekonnen und die Höhe wird hochgezählt
if($breite[0] + $spalten > 280){$breite[0] = 10; $hoehe = $hoehe + 40;}
// Ist eine Seite voll, wird eine neue begonnen und die Höhe wieder auf Standart gesetzt
if($hoehe > 200){$hoehe = 10; $pdf->AddPage('L');}
// Tabellen werden die entsprechenden Koordinaten zugewiesen
$pdf->SetXY($breite[0], $hoehe);
$pdf->SetFillColor(220,220,220);
$pdf->Cell(30,4,substr($tag[0], 0, 2) .' '. $datum,1,0,'L',1);
$pdf->Ln();
$pdf->SetX($breite[0]);
$pdf->Cell(10,4,'Zeit',1,0,'C',1);
$ausgabe = mysql_query("SELECT zeit FROM tabelle WHERE datum = '$datum' ORDER BY timestamp") or die (mysql_error());
while($row = mysql_fetch_array($ausgabe)){
$time = substr($row["zeit"], 0 , -3);
$pdf->Cell(10,4,$time,1,0,'C',1);
}
$pdf->Ln();
$pdf->Ln();
$pdf->AcceptPageBreak();
// Ist die Seitenbreite noch nicht erreicht, wird die Breite raufgezählt und ins Array geschrieben
if($breite[0] + $spalten < 280){
$aa = $breite[0] + $spalten;
$breite = array($aa);
}
// Ist die Seitenbreite erreicht, fängt das Array wieder von vorn an
else{
$breite = array($spalten);
}
}
$pdf->Output();
?>