Bonjour à tous !
Je découvre ce site fort sympathique.
Je me permets de faire une requête concernant FPDF , découvert récemment (permettant d'imprimer des tableaux en php).
Je suis allé sur le site officiel (j'ai même posté un msg mais apparemment il n'est jamais apparu )) , je me demande si le site est toujours en vie…. ) .
Bref, mon tableau s'imprime bien sur plusieurs pages (titre:OK PageNo:ok, saut page:ok)) mais l'entête du tableau figure uniquement sur la 1ère page.
Je galère pas mal avec ça depuis plusieurs jours .
merci bcp d'avance.
Je découvre ce site fort sympathique.
Je me permets de faire une requête concernant FPDF , découvert récemment (permettant d'imprimer des tableaux en php).
Je suis allé sur le site officiel (j'ai même posté un msg mais apparemment il n'est jamais apparu )) , je me demande si le site est toujours en vie…. ) .
Bref, mon tableau s'imprime bien sur plusieurs pages (titre:OK PageNo:ok, saut page:ok)) mais l'entête du tableau figure uniquement sur la 1ère page.
Je galère pas mal avec ça depuis plusieurs jours .
merci bcp d'avance.
<?php
// Connexion à la BDD
//$bddname = 'nom_de_la_base';
//$hostname = 'localhost';
//$username = 'utilisateur';
//$password = 'mot_de_passe';
//$db = mysqli_connect ($hostname, $username, $password, $bddname);
try
{
// On se connecte ? MySQL
$bdd = new PDO('mysql:host=localhost;dbname=base1;charset=utf8','root','',array
(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
}
catch(Exception $e)
{
// En cas d'erreur on affiche un msg et on arr?te tout
die('Erreur : '.$e->getmessage());
}
// Appel de la librairie FPDF
require("fpdf/fpdf.php");
// Création de la class PDF
class PDF extends FPDF {
// Header
function Header() {
$this->SetFont('Arial','B','20');
$this->SetXY(40,20);
$this->Cell(120,10,'LISTE des DVD',1,0,'C');
// Saut de ligne
$this->Ln(10);
}
// Footer
function Footer() {
// Positionnement à 1 cm du bas
$this->SetY(-10);
$this->SetFont('Arial','I','8');
// Numero de page
$this->Cell(0,5,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
}
// Activation de la classe
$pdf = new PDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Helvetica','',11);
$pdf->SetTextColor(0);
$position_entete = 45;
function entete_table($position_entete){
global $pdf;
$pdf->SetDrawColor(183); // Couleur des contours
$pdf->SetFillColor(221); // Couleur de remplissage
$pdf->SetTextColor(0); // Couleur du texte
$pdf->SetY($position_entete);
$pdf->SetX(30);
$pdf->Cell(100,10,'Titre du DVD',1,0,'L',1);
$pdf->SetX(130);
$pdf->Cell(30,10,'Genre',1,0,'C',1);
$pdf->SetX(160);
$pdf->Cell(30,10,'Annee',1,0,'C',1);
$pdf->Ln(); // Retour à la ligne
}
entete_table($position_entete);
// Liste des détails
$position_detail = 70; //
$reponse = $bdd->query('SELECT * FROM DVD ORDER BY Titre');
while ($row2 = $reponse->fetch()) {
$pdf->SetY($position_detail);
$pdf->SetX(30);
$pdf->MultiCell(100,10,utf8_decode($row2['Titre']),1,'L');
$pdf->SetY($position_detail);
$pdf->SetX(130);
$pdf->MultiCell(30,10,$row2['Genre'],1,'C');
$pdf->SetY($position_detail);
$pdf->SetX(160);
$pdf->MultiCell(30,10,$row2['Annee'],1,'C');
$position_detail += 10;
}
// Nom du fichier
//$nom = 'ListeDVD'.pdf';
// Création du PDF
$pdf->Output();
?>