FPDF: Header, footer et base de données

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : FPDF: Header, footer et base de données

Re: FPDF: Header, footer et base de données

par cyruss » 05 avr. 2005, 16:28

Je te conseille de commencer par redefinir le header et footer de ta classe.
Ensuite il ne sert a rien d'instancier la classe FPDF. Il faut juste instancier la classse PDF dont tu as redéfini les methodes header() et footer().

Sinon consulte les tutos sur le site de la fpdf.org

++

cyruss

FPDF: Header, footer et base de données

par chris_fnx » 04 avr. 2005, 08:41

Bonjour,

Après avoir essayé avec toutes sortes de codes ce week-end, j'ai enfin trouvé un code qui fonctionne bien pour la création d'un PDF à partir de ma base de données.
En revanche, je ne sais pas comment intégrer les header et footer à mon code. J'ai copié les fonctions header et footer, mais comment dois-je adapter le code pour que les entêtes et pieds de page apparaissent? J'ai momentanément caché (//) la partie de code nommée "Instanciation de la classe dérivée", parce que plus rien ne fonctionne si je la laisse telle quel.
J'ai posé également la question sur le forum du site de téléchargement, sans succès encore.

Allez voir le résultat actuel à l'adresse http://www.fnx.ch/fr/liste_pdf_forum_2.php

Mon code se trouve ci-dessous:

<?php
define('FPDF_FONTPATH','fpdf/font/');
require('fpdf/fpdf.php');

//Connect to your database
include("mas_liste/utilitaires/connect.php");

//PDF USING MULTIPLE PAGES
//FILE CREATED BY: Carlos José Vásquez Sáez
//YOU CAN CONTACT ME: [email protected]
//FROM PUNTA ARENAS, MAGALLANES
//INOVO GROUP - http://www.inovo.cl

//define('FPDF_FONTPATH','font/');
//require('fpdf.php');

//Connect to your database
//include("conectmysql.php");

//Create new pdf file
$pdf=new FPDF();

//Open file
$pdf->Open();

//Disable automatic page break
$pdf->SetAutoPageBreak(false);

//Add first page
$pdf->AddPage();



class PDF extends FPDF
{
//En-tête
function Header()
{
//Logo
$this->Image('Haut',10,8,33);
//Police Arial gras 15
$this->SetFont('Arial','B',6);
//Décalage à droite
$this->Cell(80);
//Titre
$this->Cell(30,10,'Titre',1,0,'C');
//Saut de ligne
$this->Ln(20);
}

//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Police Arial italique 8
$this->SetFont('Arial','I',8);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
/*
//Instanciation de la classe dérivée
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Times','',12);
for($i=1;$i<=40;$i++)
$pdf->Cell(50,10,'Impression de la ligne numéro '.$i,0,1);
$pdf->Output();
*/


//set initial y axis position per page
$y_axis_initial = 50;

//print column titles for the actual page
$pdf->SetFillColor(232,232,232);
$pdf->SetFont('Arial','B',6);
$pdf->SetY($y_axis_initial);
$pdf->SetX(5);
$pdf->Cell(20,6,'Instrument0',1,0,'L',1);
//$pdf->Cell(20,6,'Instrument0',1,0,'L',1);
$pdf->Cell(20,6,'Marque0',1,0,'L',1);
$pdf->Cell(20,6,'Modèle0',1,0,'R',1);

//Set Row Height
$row_height = 4;

$y_axis = $y_axis_initial + $row_height;
//$y_axis = $y_axis + $row_height;

//Select the Products you want to show in your PDF file
$result=mysql_query('select instrument,marque,modele from liste ORDER BY instrument',$bdd);

//initialize counter
$i = 0;

//Set maximum rows per page
$max = 25;

while($row = mysql_fetch_array($result))
{
//If the current row is the last one, create new page and print column title
if ($i == $max)
{
$pdf->AddPage();

//print column titles for the current page
$pdf->SetY($y_axis_initial);
$pdf->SetX(5);
$pdf->Cell(20,6,'Instrument1',1,0,'L',1);
$pdf->Cell(20,6,'Marque1',1,0,'L',1);
$pdf->Cell(20,6,'Modèle1',1,0,'R',1);

//Go to next row
$y_axis = $y_axis_initial + $row_height;

//Set $i variable to 0 (first row)
$i = 0;
}

$instrument = $row['instrument'];
$marque = $row['marque'];
$modele = $row['modele'];

$pdf->SetY($y_axis);
$pdf->SetX(5);
$pdf->Cell(20,6,$instrument,1,0,'L',1);
$pdf->Cell(20,6,$marque,1,0,'L',1);
$pdf->Cell(20,6,$modele,1,0,'R',1);

//Go to next row
$y_axis = $y_axis + $row_height;
$i = $i + 1;
}

mysql_close($bdd);


//Create file
$pdf->Output();
?>

Merci
chris_fnx