Fpdf

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Fpdf

    Wie binde ich die Datenbank mit an?

    Das erstellen mit der FPDF-Class geht soweit, nur möchte ich jetzt mir noch aus den Datenbank einen Datensatz holen und ihn ausgeben lassen.
    PHP-Code:
    <?php
    require('../inc/fpdf.php');
    include(
    '../inc/db_data.inc.php');
    class 
    PDF extends FPDF
        
    {
        
    //Page header
        
    function Header()
            {
            
    //Logo
            
    $this->Image('lutra.png',10,8,22);
            
    //Arial bold 15
            
    $this->SetFont('Arial','B',15);
            
    //Move to the right
            
    $this->Cell(80);
            
    //Title
            
    $this->Cell(50,10,'Pressemitteilung',1,0,'C');
            
    //Line break
            
    $this->Ln(20);
            }

        
    //Page footer
        
    function Footer()
            {
            
    //Position at 1.5 cm from bottom
            
    $this->SetY(-15);
            
    //Arial italic 8
            
    $this->SetFont('Arial','I',8);
            
    //Page number
            
    $this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
            }
        }

    $res mysql_query("SELECT * FROM presse WHERE Nummer='00101'");
    while(
    $row=mysql_fetch_array($res))
        {
        
    $mel nl2br($row[meldung]);
        }

    //Instanciation of inherited class
    $pdf=new PDF();
    $pdf->Open();
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->SetFont('Times','',12);
    $pdf->Cell(0,10,$mel);


    $pdf->Output();
    ?>
    So wird mir nur ausgegeben im PDF-Dokument das hier:
    $mel

    Ich möchte aber an der Stelle die Meldung haben. Wie muß ich das jetzt machen?
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

  • #2
    Geschafft!!!

    Und so muss der Code aussehen:
    PHP-Code:
    <?php
    require("../../inc/fpdf.php");
    include(
    "../../inc/db_data.inc.php");

    class 
    PDF extends FPDF
        
    {
        
    //Page header
        
    function Header()
            {
            
    //Logo
            
    $this->Image("lutra.png",10,8,20);
            
    //Arial bold 15
            
    $this->SetFont("Arial","",12);
            
    //Move to the right
            
    $this->Cell(80);
            
    //Title
            
    $this->Cell(50,10,"Lutra Pressedienst",0,0,"C");
            
    //Line break
            
    $this->Ln(20);
            }

        
    // Page body
        
    function Table($sql)
            {
            
    $res mysql_query($sql);
            while(
    $row mysql_fetch_array($res))
                {
                
    $this->SetFont("Arial","",10);
                
    $this->Cell(13,6,"Nr.:",0,0,"L");
                
    $this->Cell(20,6,$row["Nummer"],0,0,"L");
                
    $this->Ln(5);
                
    $this->Cell(13,6,"Datum:",0,0,"L");
                
    $this->Cell(20,6,$row["datum"],0,0,"L");
                
    $this->Ln(20);
                
    $this->SetFont("Arial","B",12);
                
    $this->MultiCell($w[1],6,stripslashes($row["Titel"]),0,"C");
                
    $this->SetFont("Arial","",12);
                
    $this->MultiCell($w[1],6,stripslashes($row["Untertitel"]),0,"C");
                
    $this->Ln(10);
                
    $this->MultiCell($w[2],6,stripslashes(wordwrap($row["Meldung"],90,"\n",1)),0,"J");
                }
            }

        
    // Page footer
        
    function Footer()
            {
            
    //Position at 1.5 cm from bottom
            
    $this->SetY(-15);
            
    //Arial italic 8
            
    $this->SetFont("Arial","I",8);
            
    //Page number
            
    $this->Cell(0,10,"Page ".$this->PageNo()."/{nb}",0,0,"C");
            }

        }
    $pdf = new PDF();
    $pdf->Open();
    $pdf->AddPage();
    $pdf->SetAuthor('Lutra Pressedienst');
    $pdf->SetFont("Arial","",10);
    $pdf->Table("SELECT *,DATE_FORMAT(Sperrfrist,'%d.%m.%Y')AS datum FROM presse WHERE Nummer='$show'");
    $pdf->AliasNbPages();
    $pdf->Output();
    ?>
    Dieses Script erstellt mit der kostenfreien FPDF-Class ein PDF-Dokument was aus einer Datenbankabfrage besteht.

    Die FPDF-Class findet Ihr unter www.fpdf.org zum Download
    *winks*
    Gilbert
    ------------------------------------------------
    Hilfe für eine Vielzahl von Problemen!!!
    http://www.1st-rootserver.de/

    Kommentar


    • #3
      Ich häng mich hier einfach mal eben drann, und zwar würd cih gern wissen wie ich bei fpdf andere Seitenformate als die standart hinbekomme, also zum beispiel 450*320 mm

      Kommentar


      • #4
        Bei FPDF hast du glaube ich nicht die Möglichkeit eine andere Seitegröße anzugeben. Nimm lieber die Class von http://www.ros.co.nz/pdf und schau die mal die Datei class.ezpdf.php ab Zeile 28 an, dort kannst glaube ich was an den Seitegrößen drehen.
        *winks*
        Gilbert
        ------------------------------------------------
        Hilfe für eine Vielzahl von Problemen!!!
        http://www.1st-rootserver.de/

        Kommentar


        • #5
          Hey das ist gut, genau das was ich gesucht habe. Danke schön. Du hast mir echt geholfen. Hier kann man das Seitenformat Kinderleicht anpassen. *jubel*

          Kommentar


          • #6
            Hilfe => Lohn (1KG Schokoeis und eine Kiste Warsteiner) *scherz*
            *winks*
            Gilbert
            ------------------------------------------------
            Hilfe für eine Vielzahl von Problemen!!!
            http://www.1st-rootserver.de/

            Kommentar


            • #7
              *In Kiste pak und verschik* aber kühlen musst du selber, übrigens das Eis liegt auf der Kiste...

              Ich habe mittlerweie auch erfahren das es mit fpdf ebenfalls geht und zwar so: array(450,320)

              Nur mal für alle die es vieleicht interessieren sollte. Ich werde aber sehr wahrscheinlich dennoch bei deiner hier vorgeschlagenen Klasse bleiben, nicht zuletzt weil hier bereits auch schon sonderformate wie SRA3 schon integriert sind. Und weil es grad so schön läuft und ich so wie ich das sehe nur die afm dateien von den postscriptschriften übernehemm muß und keine dateien erst umständlich erzeugen muß.

              Kommentar


              • #8
                *Kiste mit Wasserschokoeis ist gerade eingetroffen. man ist die Post aber schnell.*
                *winks*
                Gilbert
                ------------------------------------------------
                Hilfe für eine Vielzahl von Problemen!!!
                http://www.1st-rootserver.de/

                Kommentar


                • #9
                  Post EXpress halt *gz*
                  Ich hoffe der KAsten ist nicht all zu sehr verklebt. =)

                  Kommentar


                  • #10
                    *NöNö geht* So nun genug OT
                    *winks*
                    Gilbert
                    ------------------------------------------------
                    Hilfe für eine Vielzahl von Problemen!!!
                    http://www.1st-rootserver.de/

                    Kommentar


                    • #11
                      ok, aber manchmal muß auch das mal sein, sonst ist das alles viiiel zu trocken.

                      Aber ich hätte da noch eine frage, ich weiß das das hier nicht unbedingt rein passt und das das im Forum schon öfter mal geklärt wurde, aber ich bin da nicht durchgestiegen so wirklich.

                      Wie kann ich die generierte PDF per email versenden?

                      Kommentar


                      • #12
                        Du lässt erst die PDF-Erstellung durchlaufen, dann speicherst du die PDF-Datei und dann verschickst du die Mail:
                        PHP-Code:
                        //PDF als Mail-Anhang verschicken.
                        $file "../kunde_pdf/".$kid."-".$bid."-".$sid.".pdf";
                        $file_name $kid."-".$bid."-".$sid.".pdf";
                        $subject$m2;
                        $from    $sales;
                        $to        $beMail;
                        $message $maildata[body];
                        $boundary strtoupper(md5(uniqid(time())));
                        $mail_header  "From:$from(Sales)\n";
                        $mail_header .= "MIME-Version: 1.0";
                        $mail_header .= "\nContent-Type: multipart/mixed; boundary=$boundary";
                        $mail_header .= "\n\nThis is a multi-part message in MIME format  --  Dies ist eine mehrteilige Nachricht im MIME-Format";
                        $mail_header .= "\n--$boundary";
                        $mail_header .= "\nContent-Type: text/plain";
                        $mail_header .= "\nContent-Transfer-Encoding: 8bit";
                        $mail_header .= "\n\n$message";
                        $file_content fread(fopen($file,"r"),filesize($file));
                        $file_content chunk_split(base64_encode($file_content));
                        $mail_header .= "\n--$boundary";
                        $mail_header .= "\nContent-Type: application/octetstream; name=\"$file_name\"";
                        $mail_header .= "\nContent-Transfer-Encoding: base64";
                        $mail_header .= "\nContent-Disposition: attachment; filename=\"$file_name\"";
                        $mail_header .= "\n\n$file_content";
                        $mail_header .= "\n--$boundary--";
                        // eMail an Käufer
                        mail($to,$subject,"",$mail_header); 
                        entnommen aus meinen Warekorb-Script.
                        *winks*
                        Gilbert
                        ------------------------------------------------
                        Hilfe für eine Vielzahl von Problemen!!!
                        http://www.1st-rootserver.de/

                        Kommentar


                        • #13
                          Danke

                          Aaaaber *mal wieder superdumm ist* speichern die ersten zwei zeilen die datei oder muß das woanders passieren und kann ich das in einer datei machen?

                          Kommentar


                          • #14
                            Die öffnen nur die schon gespeicherte Datei.

                            Gespeichert wir so:
                            PHP-Code:
                            //ausgabe des PDF-Files
                            $pdf_code $pdf->output();
                            $fp=fopen('../kunde_pdf/'.$kid.'-'.$bid.'-'.$sid.'.pdf','wb');
                            fwrite($fp,$pdf_code);
                            fclose($fp); 
                            *winks*
                            Gilbert
                            ------------------------------------------------
                            Hilfe für eine Vielzahl von Problemen!!!
                            http://www.1st-rootserver.de/

                            Kommentar


                            • #15
                              Super, danke, ich steh glaub ich n takken in deine rschuld =)

                              Kommentar

                              Lädt...
                              X