Bonjour chers frères et soeurs,

j'aimerais générer une facture en PDF avec PHP et MySQL et j'utilise FPDF. Il est vrai je ne suis pas assez bon en orienté objet, mais j'y vois mieux.

Au fait mon soucis, c'est l'erreur là : 
( ! ) Notice: Undefined offset: 1 in C:\wamp\www\siteSTA\testfacture\index.php on line 87
Call Stack
# Time Memory Function Location
1 0.0280 160152 {main}( ) ..\index.php:0
2 0.0980 563416 PDF->FancyTable( ) ..\index.php:103
qui vient à chaque fois. Sinon que je voudrais avoir, un fichier PDF (Facture : Nom produit, Qté, PU, P HT, PTTC), dont les données sont prises directement dans ma base de données.

Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
  //////////////////////////////////////////////////////////////////////
    //Récupération des données de la base et création du fichier.txt /////
    /////////////////////////////////////////////////////////////////////
try
{
    $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
    include("../config/config.php");
    $bdd = new PDO($Hote_BD_PDO, $user_PDO, $PW_PDO, $pdo_options);
 
    $file = fopen ("fichier.txt" , "w+");
    $req = $bdd->query("SELECT * FROM licence ORDER BY id_licence DESC ");
    while($donnees = $req->fetch())
    {
        $_xml = $donnees['nomproduit'].";".$donnees['quantite_licence'].";".$donnees['prix']." \r\n";
        fputs ($file , $_xml);
        fputs ($file , "\n");
    }
    fclose($file);
    $req->closeCursor();
 
 
}
catch(Exception $e)
{
    die('Erreur : '.$e->getMessage());
}
 
 
    ///////////////////////////////////////////
    // Génération du fichier PDF /////////////
    /////////////////////////////////////////
 
 
    require('fpdf.php');
 
    class PDF extends FPDF
    {
    //Chargement des données
    function LoadData($file)
    {
        //Lecture des lignes du fichier
        $lines=file($file);
        $data=array();
        foreach($lines as $line)
            $data[]=explode(';',chop($line));
        return $data;
    }
 
    //Tableau Données
    function FancyTable($header,$data)
    {
        //Couleurs, épaisseur du trait et police grasse
        $this->SetFillColor(255,0,0);
        $this->SetTextColor(255);
        $this->SetDrawColor(128,0,0);
        $this->SetLineWidth(.3);
        $this->SetFont('','B');
        //En-tête
        $w=array(40,35,45);
        for($i=0;$i<count($header);$i++)
            $this->Cell($w[$i],7,$header[$i],1,0,'C',1);
        $this->Ln();
        //Restauration des couleurs et de la police
        $this->SetFillColor(224,235,255);
        $this->SetTextColor(0);
        $this->SetFont('');
        //Données
        $fill=false;
        foreach($data as $row)
        {
            $this->Cell($w[0],6,$row[0],'LR',0,'L',$fill);
            $this->Cell($w[1],6,$row[1],'LR',0,'R',$fill);
            $this->Cell($w[2],6,utf8_decode($row[2]),'LR',0,'R',$fill);
            $this->Ln();
            $fill=!$fill;
        }
        $this->Cell(array_sum($w),0,'','T');
    }
    }
 
    $pdf=new PDF();
    //Titres des colonnes
    $header=array('Nom produit','Quantité','Prix');
    //Chargement des données
    $data=$pdf->LoadData('fichier.txt');
    $pdf->SetFont('Arial','',14);
    $pdf->AddPage();
    $pdf->FancyTable($header,$data);
    $pdf->Output();
    //}
J'ai vraiment besoin de votre aide SVP. Merci pour tous ce que vous ferai pour m'aider.

Cordialement