PHP MySQL PDF

Bonjour à vous!

Aujourd'hui je me tourne vers vous afin d'obtenir votre aide.

Voilà, j'ai une bdd contenant plusieurs tables.
Un script PHP qui me permet d'ouvrir une nouvelle page qui convertira mes données de ma BDD en PDF.

Tout marche parfaitement (après des heures de recherches et de travail, je suis un débutant).

Mon soucis est la mise en forme. J'aimerais savoir comment créer un tableau qui permettra de ranger mes informations.

Lors d'un clique sur une autre page, je récupère l'id dans l'URL avec la méthode GET.

Voici mon code de ma page Facturepdf.php ci dessous :


<?php

$maBase=new PDO('mysql:host=localhost; dbname=finelio; charset=utf8','root', '');

// Appel de la librairie FPDF
require("fpdf.php");

// Création de la class PDF
class PDF extends FPDF
{
// Header
function Header()
{
// Logo
$this->Image('Finelio.jpg',8,2);

}

}

// Activation de la classe
$pdf = new PDF('P','mm','A4');
$pdf->AddPage();
$pdf->SetFont('Helvetica','',11);

$pdf->SetTextColor(0);

// Infos de l'entreprise à gauche
$pdf->Text(10,70,'Nom Expediteur ');
$pdf->Text(10,75,'Adresse');
$pdf->Text(10,80,'Code Postale');
$pdf->Text(10,85,'Telephone');

$date = date("d-m-Y");
$pdf->Text(125,10,'Le');
$pdf->Text(130,10, $date);

$donneeclient=$maBase->query("SELECT * FROM `clients` Where id='".$_GET['id']."' ");

//Infos du client à droite
while ($TableauDeDonnee=$donneeclient->fetch())
{
$pdf->Text(120,95,$TableauDeDonnee['Raison Social']);
$pdf->Text(137,95,$TableauDeDonnee['Name']);
$pdf->Text(150,95,$TableauDeDonnee['Prenom']);
$pdf->Text(120,100,$TableauDeDonnee['Adresse']);
$pdf->Text(120,105,$TableauDeDonnee['CP']);
$pdf->Text(132,105,$TableauDeDonnee['Ville']);
}

$donneefacture=$maBase->query("SELECT * FROM `facture` Where id=".$_GET['id']."");

while ($TableauDeDonnee=$donneefacture->fetch())
{
$euro=chr(128);
$pdf->Text(10,150,"Reference :");
$pdf->Text(32,150,$TableauDeDonnee['Reference']);
$pdf->Text(10,155,"Date :");
$pdf->Text(32,155,$TableauDeDonnee['Date']);
$pdf->Text(10,160,"Chantier :");
$pdf->Text(32,160,$TableauDeDonnee['Chantier']);
$pdf->Text(10,165,"Honoraire :");
$pdf->Text(32,165,$TableauDeDonnee['Honoraire']);
$pdf->Text(50,165,$euro);
$pdf->Text(10,170,"Montant :");
$pdf->Text(32,170,$TableauDeDonnee['Montant']);
$pdf->Text(50,170, $euro);
$total=$TableauDeDonnee['Honoraire']+$TableauDeDonnee['Montant'];
$pdf->Text(10,175,"Total :");
$pdf->Text(32,175,$total);
$pdf->Text(50,175,$euro);

}
$pdf->Output();
?>


Merci d'avance :)

2 réponses

  1. Contributeur
    bonjour,
    dois-tu réellement produire un fichier pdf?
    si oui, moi je ferais ainsi:
    - je produirais en php un fichier html
    - j’appellerais en php un outil créant un fichier pdf à partir du fichier html

    http://www.finalclap.com/faq/86-php-convertir-html-pdf-generer
    1. Bonjour et merci d'avoir pris le temps de répondre.

      Malheureusement oui, le PDF est obligatoire.
      N'est il pas plus rapide de faire des cellules dans un tableau maintenant que j'ai fais le plus gros du travail?

      Merci d'avance :)
    2. Merci pour le conseil !
  2. Modérateur
    Bonjour,

    Il semble qu'il existe bien une méthode pour créer des tableaux avec la librairie FPDF.
    Regarde ce tuto :
    https://jc-cornic.developpez.com/tutoriels/php/pdf/index.php?page=page_3#LIII-B

    Sinon.. au lieu de FPDF, tu peux utiliser la librairie html2pdf => https://html2pdf.fr/
    En gros ... tu génères les données façon html ... puis tu convertit ces données en PDF.

    1. Bonsoir et merci de t'intéresser à mon problème.

      J'ai déjà suvi ce tuto mais je n'y arrive pas vraiment :/

      On m'avait recommandé FPDF au lieu de HTML2PDF alors je pense rester dessus mais merci :)