FPDF - inclusion de variables php

debutantphpsql -  
 ReDLoG -
Bonsoir,

J'ai un petit souci avec la fonction fpdf, je n'arrive pas à envoyer une requete a la base de données sql pour qu'elle m'affiche les bonnes variables dans le PDF.

Voici ce que j'aimerai faire: chercher la personne nommée par "JG" dans la base, et prendre son nom et l'intégrer dans le PDF en variable ($donnees['nom'])



<?php

try
{
	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$reponse = $bdd->query("SELECT nom, possesseur FROM historique WHERE possesseur='JG'");

while ($donnees = $reponse->fetch())
{

require('fpdf.php');

class PDF extends FPDF
{
function Header()
{
    global $titre;

    // Arial gras 15
    $this->SetFont('Arial','I',12);
    // Calcul de la largeur du titre et positionnement
    $w = $this->GetStringWidth($titre)+6;
    $this->SetX((210-$w)/2);
    // Couleurs du cadre, du fond et du texte
    $this->SetFillColor(255,255,255);
    // Epaisseur du cadre (1 mm)
    $this->SetLineWidth(0.2);
    // Titre
    $this->Cell($w,9,$titre,1,1,'C',true);
    // Saut de ligne
    $this->Ln(10);
	
	// Logo
    $this->Image('logo.png',10,6,30);
    // Police Arial gras 15
    $this->SetFont('Arial','B',15);
    // Décalage à droite
    $this->Cell(80);
    // Saut de ligne
    $this->Ln(5);
}

function Footer()
{
    // Positionnement à 1,5 cm du bas
    $this->SetY(-15);
    // Arial italique 8
    $this->SetFont('Arial','I',8);
    // Couleur du texte en gris
    $this->SetTextColor(128);
    // Numéro de page
    $this->Cell(0,10,'Impression: Causelia.com',0,0,'C');
}

function TitreChapitre($num)
{
    // Arial 12
    $this->SetFont('Arial','',12);
    // Couleur de fond
    $this->SetFillColor(200,220,255);
    // Titre
    $this->Cell(0,6,"$num ",0,1,'L',true);
    // Saut de ligne
    $this->Ln(4);
}

function CorpsChapitre($fichier)
{
    // Lecture du fichier texte
    $txt = file_get_contents($fichier);
    // Times 12
    $this->SetFont('Times','',12);
    // Sortie du texte justifié
    $this->MultiCell(0,5,$txt);
    // Saut de ligne
    $this->Ln();
}

function AjouterChapitre($num, $titre, $fichier)
{
    $this->TitreChapitre($num,$titre);
    $this->CorpsChapitre($fichier);
}
}

$pdf = new PDF();
$titre = 'Recu Fiscal (Article 200 CGI)';
$pdf->SetTitle($titre);
$pdf->SetAuthor('Action Contre la Faim');
$pdf->AddPage();
$pdf->AjouterChapitre("$donnees['nom']","recufiscal","20k_c1.txt");
$pdf->Output();

}

$reponse->closeCursor();

?>


Pourriez-vous m'aider svp?
Merci et bonne soirée

A voir également:

1 réponse

ReDLoG
 
Bonsoir,

Le mieux c'est d'enregistrer la classe PDF dans un fichier séparé nommé par exemple pdfExtfpdf.php.
Ensuite la structure du script générant ton fichier PDF :
<?php
require('fpdf.php');
require('pdfExtfpdf.php');
try {
	$bdd = new PDO('mysql:host=localhost;dbname=test', 'root', '');
} catch(Exception $e) {
	die('Erreur : '.$e->getMessage());
}
$reponse = $bdd->query("SELECT nom,possesseur FROM historique WHERE possesseur='JG'");
//Pas besoin de boucle while, il n'y a qu'un enregistrement à afficher
$donnees = $reponse->fetch();

$pdf = new PDF();
$titre = 'Recu Fiscal (Article 200 CGI)';
$pdf->SetTitle($titre);
$pdf->SetAuthor('Action Contre la Faim');
$pdf->AddPage();
$pdf->AjouterChapitre($donnees['nom'].' '.$donnees['prenom'],"recufiscal","20k_c1.txt");
$pdf->Output();
$reponse->closeCursor();
?>
0