Hallo,
ich bin dabei ein PDF mit fpdf zu erstellen.
Es sollen Geräte ausgegeben werden, die in Kategorieen aufgeteilt sind. Mein Proplem bei der Sache ist, dass wenn die Seite voll ist automatisch eine neue Seite angefangen wird und u.u. der Kategoriename noch auf der alten Seite steht und die Geräte dann auf der neuen. Jetzt müsste ich irgendwie überprüfen, ob die Kategorie mit allen Geräten noch auf die aktuelle Seite passt und wenn nicht soll eine neue Seite angefangen werden.
Der bisherige Quelltext:
Wie kann man das am einfachsten umsetzen?
Gruß, spikis
ich bin dabei ein PDF mit fpdf zu erstellen.
Es sollen Geräte ausgegeben werden, die in Kategorieen aufgeteilt sind. Mein Proplem bei der Sache ist, dass wenn die Seite voll ist automatisch eine neue Seite angefangen wird und u.u. der Kategoriename noch auf der alten Seite steht und die Geräte dann auf der neuen. Jetzt müsste ich irgendwie überprüfen, ob die Kategorie mit allen Geräten noch auf die aktuelle Seite passt und wenn nicht soll eine neue Seite angefangen werden.
Der bisherige Quelltext:
PHP-Code:
$pdf=new RPDF();
$pdf->AddPage();
$pdf->SetFont($FontFace,'',$FontSize);
// Kategorieen und die darin enthaltenen Geraete ausgeben
$KatResult = mysql_query("SELECT * from fachb_geraetekat ORDER BY KatName");
while($KatLine = @mysql_fetch_object($KatResult)) {
$pdf->SetFont($FontFace,'B',$FontSize); // Schrift auf Fett umstellen
$pdf->Cell($maxX-10,4,$KatLine->KatName,'B',1,'L'); // Kategorienamen ausgeben
$pdf->SetFont($FontFace,'',$FontSize); // Schrift wieder zurueckstellen
$GerResult = mysql_query("select * from fachb_geraete WHERE KatID = '$KatLine->id' ORDER BY GeraeteName");
while($GerLine = @mysql_fetch_object($GerResult)) {
$pdf->Cell(3,4,'','B',0,'L'); // Zeile einrueken
$pdf->Cell($maxWidth,4,$GerLine->GeraeteName,'B',0,'L'); // Geraetenamen ausgeben
$bgcol="1";
for($n="0";$n<sizeof($OVID);$n++){
$AnzResult = mysql_query("select * from fachb_anzgeraetproov WHERE GeraeteID = '$GerLine->id' AND OVID = '$OVID[$n]'");
$AnzLine = mysql_fetch_object($AnzResult);
if(isset($AnzLine->Anz) AND $AnzLine->Anz!="0") $Anz=$AnzLine->Anz; // Nur wenn ein Wert und keine 0 das Ergebniss ist, etwas ausgeben
else $Anz="";
if($bgcol %2) $pdf->SetFillColor(204, 255, 255);
else $pdf->SetFillColor(153, 204, 255);
$pdf->Cell(5,4,$Anz,'T',0,'C',1);
$bgcol++;
}
$pdf->SetFillColor(0, 0, 0);
$pdf->Ln();
}
$pdf->Cell($maxX-10,4,'','T',1,'C');
}
$pdf->Output();
Gruß, spikis
Kommentar