ERLEDIGT - Rechnung mit fpdf erstellen, dazu Daten aus Mysql holen

Diskussionen und Austausch über die von FPDF bereitgestellten Methoden, Problemen bei der Anwendung etc.
Spiro
Benutzer
Beiträge: 10
Registriert: Mi 2. Nov 2016, 09:07

ERLEDIGT - Rechnung mit fpdf erstellen, dazu Daten aus Mysql holen

Beitragvon Spiro » Mi 2. Nov 2016, 09:21

Hallo zusammen,

ich bin neu hier.
Ich möchte eine "Kundenverwaltung" mit HTML realisieren. Dazu gehört auch, das ich eine Rechnung drucken kann. Nun habe ich mein Grundgerüst erstellt. Das funktioniert auch soweit.

Jetzt müsste ich das Grundgerüst aber noch mit Daten füllen. Ist es sinnvoller diese über meinen "Drucken-Button" zu übergeben, oder besser über den Button nur die Bestellnummer und dann den Rest im Grundgerüst abfragen?

Hier mal mein Grundgerüst:

Code: Alles auswählen

<?php
////
$bestellnummer = $_GET["bestellnummer"];
$rechnungsanschrift = $_GET["rechnungsanschrift"];
///
require("fpdf/fpdf.php");
//Abfrage der Datenbank und Ausgabe der Daten

//
class utfFPDF extends FPDF
{
function Cell($w, $h=0, $txt='', $border=0, $ln=0, $align='', $fill=false, $link='')
   {
      if ($txt != ''){
         $txt = utf8_decode($txt);
      }
      parent::Cell($w, $h, $txt, $border, $ln, $align, $fill, $link);
   }
}
///
$pdf = new FPDF("P", "mm", "A4");
$pdf->AddPage();
/* Einstellung für ganze Seite */
$pdf->SetFont("Helvetica", "", 12);
////Infotext
$pdf->SetFont("Helvetica", "B", 16);
$pdf->SetXY(67, 17);
$pdf->Cell(80, 20, "Infotext", "LTRB", 0, "C", 0);
$pdf->SetLineWidth(0.2);
$pdf->Ln();
////Logo
$pdf->Image('images/logo_original.png', 167, 22, 25, 0);
////Unter Logo
$pdf->SetFont("Helvetica", "B", 8);
$pdf->SetFontSize(8);
$pdf->SetXY(167, 45);
$pdf->Cell(30, 5, "www.Deine-Gravur.de", "B", 0, "C", 0);
$pdf->SetLineWidth(0.2);
$pdf->Ln();
$pdf->SetXY(167, 50);
$pdf->SetFont("Helvetica", "BI", 8);
$pdf->Cell(30, 5, "CNC & Lasergravuren", "0", 0, "C", 0);
$pdf->Ln();
////QR-Code
$pdf->SetXY(170, 56);
$pdf->SetFont("Helvetica", "I", 8);
$pdf->Cell(30, 5, "Online bestellen:", "0", 0, "L", 0);
$pdf->Image('images/qrcode.png', 170, 60, 25, 0);
$pdf->Ln();
////Absender
$pdf->SetFont("Helvetica", "I", 8);
$pdf->SetXY(20, 52);
$pdf->Cell(66, 5, "Deine-Gravur.de | Ortsstr. 18 | 51647 Gummersbach", "B", 1, "L", 0);
$pdf->SetLineWidth(0.2);
$pdf->Ln();
////Lieferanschrift
$pdf->SetFont("Helvetica", "B", 9);
$pdf->SetXY(20, 60);
$pdf->Cell(30, 5, "Lieferanschrift", "0", 0, "L", 0);
$pdf->Ln();
////Rechnungsanschrift
$pdf->SetFont("Helvetica", "B", 9);
$pdf->SetXY(110, 60);
$pdf->Cell(30, 5, "Rechnungsanschrift", "0", 1, "L", 0);
$pdf->Ln();
////Lieferanschrift2
$pdf->SetFont("Helvetica", "", 12);
$pdf->SetXY(20, 65);
$pdf->Cell(45, 20, "$lieferanschrift", "1", 0, "L", 0);
$pdf->Ln();
////Rechnungsanschrift2
$pdf->SetFont("Helvetica", "", 12);
$pdf->SetXY(110, 65);
$pdf->Cell(45, 20, "$rechnungsanschrift", "1", 1, "L", 0);
$pdf->Ln();
////Rechnungsdaten
$pdf->SetFont("Helvetica", "B", 12);
$pdf->SetXY(20, 110);
$pdf->Cell(45, 20, "Rechnung", "0", 1, "L", 0);
$pdf->Ln();
////Rechnungsdaten2
$pdf->SetFont("Helvetica", "", 10);
$pdf->SetXY(20, 122);
$pdf->Cell(25, 5, "Datum:", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(20, 127);
$pdf->Cell(25, 5, "Bestellnummer:", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(20, 132);
$pdf->Cell(25, 5, "Zahlungsart:", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(20, 137);
$pdf->Cell(25, 5, "Zahlungseingang:", "0", 1, "L", 0);
$pdf->Ln();
////Rechnungsdaten3
$pdf->SetFont("Helvetica", "", 10);
$pdf->SetXY(49, 122);
$pdf->Cell(25, 5, "$bestelldatum", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(49, 127);
$pdf->Cell(25, 5, "$bestellnummer", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(49, 132);
$pdf->Cell(25, 5, "$zahlungsart", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(49, 137);
$pdf->Cell(25, 5, "$zahlungseingang", "0", 1, "L", 0);
$pdf->Ln();
////Artikeldaten
$pdf->SetFont("Helvetica", "", 10);
$pdf->SetXY(20, 145);
$pdf->Cell(9, 5, "NR", "0", 1, "L", 0);
$pdf->SetXY(30, 145);
$pdf->Cell(10, 5, "Menge", "0", 1, "L", 0);
$pdf->SetXY(45, 145);
$pdf->Cell(15, 5, "Art.Nr.", "0", 1, "L", 0);
$pdf->SetXY(70, 145);
$pdf->Cell(70, 5, "Artikel", "0", 1, "L", 0);
$pdf->SetXY(140, 145);
$pdf->Cell(18, 5, "Einzelpreis", "0", 1, "L", 0);
$pdf->SetXY(170, 145);
$pdf->Cell(18, 5, "Gesamtpreis", "0", 1, "L", 0);
$pdf->Ln();
////Linie oben
$pdf->Line(20, 150, 200, 150);
$pdf->SetLineWidth(0.2);
$pdf->Ln();
////Linie unten
$pdf->Line(20, 225, 200, 225);
$pdf->SetLineWidth(0.2);
$pdf->Ln();
////Zusammenfassung
$pdf->SetFont("Helvetica", "", 10);
$pdf->SetXY(140, 230);
$pdf->Cell(38, 5, "Zwischensumme:", "0", 1, "R", 0);
$pdf->Ln();
$pdf->SetXY(140, 235);
$pdf->Cell(38, 5, "Rabatt:", "0", 1, "R", 0);
$pdf->Ln();
$pdf->SetXY(140, 240);
$pdf->Cell(38, 5, "Porto & Verpackung:", "0", 1, "R", 0);
$pdf->Ln();
$pdf->SetXY(140, 245);
$pdf->Cell(38, 5, "inkl. MwSt (19%):", "0", 1, "R", 0);
$pdf->SetXY(140, 250);
$pdf->Cell(38, 5, "Endebetrag (EUR)", "0", 1, "R", 0);
$pdf->Ln();
////Zusammenfassung2
$pdf->SetFont("Helvetica", "", 10);
$pdf->SetXY(180, 230);
$pdf->Cell(15, 5, "999,99", "0", 1, "R", 0);
$pdf->Ln();
$pdf->SetXY(180, 235);
$pdf->Cell(15, 5, "999,99", "0", 1, "R", 0);
$pdf->Ln();
$pdf->SetXY(180, 240);
$pdf->Cell(15, 5, "999,99", "0", 1, "R", 0);
$pdf->Ln();
$pdf->SetXY(180, 245);
$pdf->Cell(15, 5, "999,99", "0", 1, "R", 0);
$pdf->SetXY(180, 250);
$pdf->Cell(15, 5, "999,99", "0", 1, "R", 0);
$pdf->Ln();
////Hinweis
$pdf->SetFont("Helvetica", "", 8);
$pdf->SetXY(20, 230);
$pdf->Write(4, "
Wir bedanken uns für Ihren Auftrag.
Es gelten unsere allgemeinen Verkaufs-, Lieferungs- und Zahlungsbedingungen.
Das Rechnungsdatum entspricht dem Lieferdatum.

Hinweis: Falls noch nicht erfolgt, überweisen Sie den Betrag innerhalb von 7 Tagen.
Die Ware bleibt bis zur vollständigen Zahlung unser Eigentum.");
$pdf->Ln();
////Linie Footer
$pdf->Line(20, 260, 200, 260);
$pdf->SetLineWidth(0.2);
$pdf->Ln();
////Footer
$pdf->SetFont("Helvetica", "", 8);
$pdf->SetXY(20, 261);
$pdf->Cell(35, 2, "www.Deine-Gravur.de", "0", 1, "L", 0);
$pdf->SetXY(50, 261);
$pdf->Cell(35, 2, "Tel.: (02354) 70 80 570", "0", 1, "L", 0);
$pdf->SetXY(90, 261);
$pdf->Cell(35, 2, "Onlinehandel Deine-Gravur.de", "0", 1, "L", 0);
$pdf->SetXY(140, 261);
$pdf->Cell(35, 2, "Steuer-Nr.: 212/5171/1232", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(20, 264);
$pdf->Cell(35, 2, "Maik Nohl", "0", 1, "L", 0);
$pdf->SetXY(50, 264);
$pdf->Cell(35, 2, "Fax: (02354) 70 80 571", "0", 1, "L", 0);
$pdf->SetXY(90, 264);
$pdf->Cell(35, 2, "IBAN: DE06 4401 0046 0939 1184 65", "0", 1, "L", 0);
$pdf->SetXY(140, 264);
$pdf->Cell(35, 2, "UST-ID: DE 250 495 798\n", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(20, 267);
$pdf->Cell(35, 2, "Ortsstr. 18", "0", 1, "L", 0);
$pdf->SetXY(50, 267);
$pdf->Cell(35, 2, "service@deine-Gravur.de", "0", 1, "L", 0);
$pdf->SetXY(90, 267);
$pdf->Cell(35, 2, "BIC: PBNKDEF", "0", 1, "L", 0);
$pdf->Ln();
$pdf->SetXY(20, 270);
$pdf->Cell(35, 2, "51647 Gummersbach", "0", 1, "L", 0);
$pdf->SetXY(140, 270);
$pdf->Cell(35, 2, "Postbank Dortmund", "0", 1, "L", 0);
$pdf->Ln();
///////////
$pdf->Output("rechnung.pdf");
?>
</body></html>


Also, die zwei Variablen, die ich per Button übergebe, werden auch schön angezeigt. Allerdings müsste ich mal noch wissen wie ich Zeilenumbrüche in der Cell einfügen kann. Oder nehme ich da besser was anderes?

Anschauen könntet ihr euch das unter http://test.deine-gravur.de/kunde_anzeigen.php?num=30001

Wie gesagt, auf Drucken drücken, dann wird die PDF generiert. Diese wäre dann zu finden unter http://test.deine-gravur.de/rechnung.pdf

Ich danke schon mal und probiere weiter.

Liebe Grüße Spiro

Zurück zu „Programmierung“

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 1 Gast