Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

PDF bestand maken vanuit Mysql (opgelost)

Landzaat
4 antwoorden
  • Hallo,

    Ik probeer met onderstaande code een PDF bestand te maken.
    Alleen lukt dit nog niet helemaal. Het pdf bestand wordt wel geopend maar zonder gegevens uit de database. \

    Het bestand wordt aangesproken met bestandsnaam.php?ID=$ID.
    De $ID wordt gevuld vanuit een formulier.

    Daarna moet er in de database gezocht worden naar dit ID en dan vervolens alle velden weergeven.

    Wie kan mij vertellen wat hier mis gaat ?

    Alvast bedankt.

    Landzaat


    De code is:

    [code:1:a2fc9075e0]

    <?php
    require ('pdf/fpdf.php');

    $datahost = "localhost"; // dbase hostname
    $datauser = "gebruiker"; //dbase username
    $datapass = "wachtwoord"; // dbase password
    $dataname = "database"; // dbasename

    // Maak connectie met database

    $db = mysql_connect($datahost, $datauser, $datapass) or die(mysql_error());
    mysql_select_db($dataname, $db) or die(mysql_error());

    $sql = "select * from member where ID = $ID ";
    $result = mysql_query($sql, $db);

    if ($myrow = mysql_fetch_array($result))
    {

    do
    {
    $ID = $myrow["ID"];
    $Name1 = $myrow["Name1"];
    $Fax = $myrow["Fax"];

    } while ($myrow = mysql_fetch_array($result));


    class PDF extends FPDF
    {
    //page header
    function Header()
    {
    //Arial vet 15
    $this->SetFont('Arial', 'B', 12);

    //Beweeg naar rechts
    $this->cell(50);

    //Titel
    //$this->Cell(90,10, 'Banned ophef formulier',1,0,'C');
    $this->Image('img/logo_printen.jpg', 80, 10, 50, 25);

    //Line break
    $this->Ln(20);


    //Tekst voor het formulier
    $this->Ln(25);

    $this->Ln(5);
    $this->Cell(90, 1, 'Naam:' );
    $this->Ln(5);
    $this->Cell(90, 1, $Name1);

    $this->Ln(20);
    }

    //page footer
    function Footer()
    {
    //Positie 1,5 cm van de onderkant
    $this->Sety(-15);

    //Arial cursief 8
    $this->SetFont('Arial', 'I', '8');

    //Pagina nummer
    $this->Cell(0, 10, 'Pagina ' . $this->Pageno() . '/{nb}', 0, 0, 'c');
    }

    }

    //aanroepen van nieuwe class
    $pdf = new PDF();
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->setFont('Times', '', 12);
    $pdf->output();

    }

    ?>
    [/code:1:a2fc9075e0]
  • dit is verkeerd gebruik van n class; zij kan geen variabelen van buiten de class gebruiken. Zoiets moet je doen:

    [code:1:e67811a3cf]<?php
    require ('pdf/fpdf.php');

    (…) // set up database connection + query

    if ($myrow = mysql_fetch_array($result))
    {
    //aanroepen van nieuwe class
    $pdf = new PDF();
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->setFont('Times', '', 12);

    while ($myrow = mysql_fetch_array($result));
    {
    $pdf->Ln(2)
    $pdf->Cell($myrow["ID"]);
    // en zet hier de andere gegevens uit de db in de pdf
    }

    $pdf->output();
    }

    class PDF extends FPDF
    {
    //page header
    function Header()
    {
    //Arial vet 15
    $this->SetFont('Arial', 'B', 12);

    //Beweeg naar rechts
    $this->cell(50);

    //Titel
    //$this->Cell(90,10, 'Banned ophef formulier',1,0,'C');
    $this->Image('img/logo_printen.jpg', 80, 10, 50, 25);
    }

    //page footer
    function Footer()
    {
    //Positie 1,5 cm van de onderkant
    $this->Sety(-15);

    //Arial cursief 8
    $this->SetFont('Arial', 'I', '8');

    //Pagina nummer
    $this->Cell(0, 10, 'Pagina ' . $this->Pageno() . '/{nb}', 0, 0, 'c');
    }

    }
    // NB: de inspringing van deze class is nu niet netjes…
    ?> [/code:1:e67811a3cf]
  • Bedankt voor uw reactie.
    Na het plaatsen van de code kan het script de class pdf niet niet vinden op regel 20 zie * in het script.

    De code is:

    [code:1:9f00ed04b5]
    <?php
    require('pdf/fpdf.php');

    //Controleren of gebruiker ingelogd is. Zo niet inlog pagina weergeven.
    require_once ('logincontrole.php');

    //Config bestand laden met daarin database gegevens + functies.
    require_once ('config.php');

    // Laden van de PDF instellingen

    //(…) // set up database connection + query

    $sql = "select * from member where ID = $ID ";
    $result = mysql_query($sql, $db);

    if ($myrow = mysql_fetch_array($result))
    {
    //aanroepen van nieuwe class
    $pdf = new pdf(); //* hier loopt het script vast (Regel 20)
    $pdf->AliasNbPages();
    $pdf->AddPage();
    $pdf->setFont('Times', '', 12);

    while ($myrow = mysql_fetch_array($result));
    {
    $pdf->Ln(2);
    $pdf->cell($myrow["ID"]);
    // en zet hier de andere gegevens uit de db in de pdf
    }

    $pdf->output();
    }

    class PDF extends FPDF
    {
    //page header
    function Header()
    {
    //Arial vet 15
    $this->SetFont('Arial', 'B', 12);

    //Beweeg naar rechts
    $this->cell(50);

    //Titel
    //$this->Cell(90,10, 'Banned ophef formulier',1,0,'C');
    $this->Image('img/logo_printen.jpg', 80, 10, 50, 25);
    }

    //page footer
    function Footer()
    {
    //Positie 1,5 cm van de onderkant
    $this->Sety(-15);

    //Arial cursief 8
    $this->SetFont('Arial', 'I', '8');

    //Pagina nummer
    $this->Cell(0, 10, 'Pagina ' . $this->Pageno() . '/{nb}', 0, 0, 'c');
    }

    }
    // NB: de inspringing van deze class is nu niet netjes…
    ?>
    [/code:1:9f00ed04b5]
  • het kan zijn dat klassenaam hoofdletter gevoelig is. Daarnaast moet de klasse gedeclareerd zijn voordat je m gebruikt. het gedeelte class { (…) } moet dus bovenaan de code, mijn fout.

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.