Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > PDF > FPDF
FPDF Forum d'entraide pour la bibliothèque FPDF permettant de générer des documents PDF en PHP. Avant de poster -> tutoriels FPDF
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/01/2007, 02h47   #1
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
Par défaut [FPDF] Générer un tableau

bonjour !!

je suis toujours dans la création de ma facture au format PDF et franchement c'est trop la galere lol car dans ce genre de format le HTML est interdit, du moins il ne le comprends pas.

bon là j'aimerais pouvoir afficher les informations sous forme de tableau (avec des colonnes, des lignes) concernant le ou les articles que le client a commandé, bien sur avec du PHP.


en HTML, j'aurais, bien entendu, su le faire mais en php je galere un peu.

j'ai vu qu'il y avait le array() mais à ce que j'ai pu lire, ça n'affichait genre :

Code :
1
2
3
4
5
 
nom : machin
prenom : bloup
adresse : 66 rue de la galere
...
et ce que je souhaiterais ce serait :
Code :
1
2
3
 
nom      prenom    adresse                    ...
machin   bloup      66 rue de la galere     ...
voilà j'espere que j'ai été assez clair pour que vous puissiez m'aider..

merci beaucoup en tout cas !!
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 07h33   #2
Membre éclairé
 
Avatar de Space Cowboy
 
Inscription : avril 2005
Messages : 495
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 495
Points : 306
Points : 306
Tu demande comment faire pour générer un tableau html en php ?
Space Cowboy est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 13h53   #3
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
non un tableau en php
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 14h03   #4
En attente de confirmation mail
 
Inscription : juin 2002
Messages : 6 164
Détails du profil
Informations forums :
Inscription : juin 2002
Messages : 6 164
Points : 6 404
Points : 6 404
Commencez par nous préciser la bibliothèque PDF que vous employez. Si vous employez FPDF, un article est dernièrement paru sur celle-ci (ici) et un exemple de scripts pour élaborer des factures est présent sur leur site officiel (ici - un aperçu est disponible en bas de page).


Julp.
julp est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 21h38   #5
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
la vache c'est hard !!!
y aurait il plus simple?
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/01/2007, 22h21   #6
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut, si tu trouves l'article phpToPDF trop hard pour les tableaux, tu peux t'en sortir dans ton cas de facture avec le texte placé à un endroit précis de ta page... Tu pourras ainsi mettre aux bons endroits tes différents textes...

Je te donne un exemple une fois que tu as installé la lib

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
include("phpToPDF.php");
 
$pdf = new phpToPDF();
$pdf->AddPage();
$pdf->SetFont("Arial","B",16);
$pdf->Text(20,10,"nom");
$pdf->Text(60,10,"prénom");
$pdf->Text(100,10,"adresse");
$pdf->Text(160,10,"...");
 
$pdf->Text(20,20,"machin");
$pdf->Text(60,20,"bloup");
$pdf->Text(100,20,"66 rue de la galere");
$pdf->Text(160,20,"...");
 
$pdf->Output();
Le résultat est dans la pièce jointe test2.pdf

Je te l'ai joué simple ici... Si tu veux par exemple que si l'adresse est trop longue, il y ait un retour chariot, tu peux utiliser les MultiCell

Je t'invite donc a lire l'article sur la génération de pdf comme te l'avais conseillé Julp

++
JC
Fichiers attachés
Type de fichier : pdf test2.pdf (1 014 octets, 17 affichages)
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2007, 21h00   #7
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
c'est super gentil de t'être pris la tete avec tout ce que tu me proposes.
je vais m'empresser de tester, du moins de l'adapter à ce que j'ai dejà et si j'ai un pb je reviendrais..

merci encore
ps : ce site est vraiment génial, je trouve toujours réponses à mes questions
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 19/01/2007, 21h44   #8
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
re
j'aimerais savoir pourquoi cela s'affiche en haut?

je te fais voir (et aux autres aussi) ce que j'ai dejà comme bout de code :
Code :
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
 
//Instanciation de la classe dérivée
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Courier','B',14);
 
 
 
 
 
$sql1 = "SELECT total FROM commande WHERE date_com = '".$date."' AND num_com = '".$num_com."'";
$quer1 = mysql_query($sql1);
$fe1 = mysql_fetch_array($quer1);
 
 
$coor = "SELECT nom, prenom, adresse, cp, ville, tel FROM client WHERE id_cli = '".$idclient."'";
$quercoor = mysql_query($coor);
$fecoor = mysql_fetch_array($quercoor);
 
 
// 60==> plus ce chiffre est grand est plus le texte sera aligné à droite
// 10==> ecart entre 2 lignes. ce n'est pas un saut de ligne mais c'est pour definir une dimension entre 2 lignes
//0==> aucun encadrement
$pdf->Cell(320,10, $fecoor[0].' '.$fecoor[1] ,0,1, 'C');
$pdf->Cell(320,10, $fecoor[2] ,0,1, 'C');
$pdf->Cell(320,10, $fecoor[3].' '.$fecoor[4] ,0,1, 'C');
 
 
$pdf->Cell(60,10, 'MatInfo',0,1, 'C');
$pdf->Cell(60,10,'29 rue des champs', 0,1,'C');
 
$pdf->Cell(60,10,'75008 PARIS' , 0,1,'C');
 
$pdf->Ln(100);
 
 
$pdf->SetFont("Courier","B",16);
 
 
$pdf->Text(20,10,"nom");
$pdf->Text(60,10,"prénom");
$pdf->Text(100,10,"adresse");
$pdf->Text(160,10,"...");
 
$pdf->Text(20,20,"machin");
$pdf->Text(60,20,"bloup");
$pdf->Text(100,20,"66 rue de la galere");
$pdf->Text(160,20,"...");
 
$pdf->Output();

ce que tu m'a donné, j'aimerais l'afficher apres tout le reste mais ça me l'affiche tout en haut.

et en ce qui concerne Cell() et Texte(), la difference est qu'avec Cell() je peux faire des bordures, c'est bien ça?

merci
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 09h32   #9
Membre expérimenté
 
Avatar de jc_cornic
 
Inscription : octobre 2006
Messages : 624
Détails du profil
Informations personnelles :
Âge : 36

Informations forums :
Inscription : octobre 2006
Messages : 624
Points : 588
Points : 588
Envoyer un message via MSN à jc_cornic
Salut, en fait la nuance entre Text et Cell c'est que Text(x,y,$text) écrit le $text en position (x,y) dans la page et Cell(x,y,$text) ecrit le $text dans une cellule de dimension (x,y) mais là ou l'appel a été fait. Je m'explique, si tu fais l'appel à Cell en premier, il te mettra la cellule en (0,0). Pour mettre une cellule en (x,y) dans une page il faut faire

Code :
1
2
3
 
setXY(x,y); 
Cell($tailleX, $tailleY, $text);
Voilà la différence, ++
JC
jc_cornic est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 15h04   #10
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
ah oki!!
donc en faite pour moi l'utilisation de Cell() est beaucoup plus simple à utiliser, car cela affiche ce que je veux en fonction d'où je l'ai mis dans mon code
d'ailleur, j'ai remplacé Text() par Cell()..

merci beaucoup pour ton aide si precieuse !!!
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 20/01/2007, 16h00   #11
Membre éprouvé
 
Avatar de oceane751
 
Intégrateur Web
Inscription : novembre 2004
Messages : 988
Détails du profil
Informations personnelles :
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Intégrateur Web

Informations forums :
Inscription : novembre 2004
Messages : 988
Points : 434
Points : 434
ah mais dis moi
ya un truc qui me parait chelou
tu vois je fais une requete, ya une boucle while pour récuperer plusieurs résultats et si je ne mets pas $pdf->Ln(10); , ça m'affiche que le 1er résultat de ma erquete et pas les autres.

Ln() c'est bien pour les sauts de ligne, alors pourquoi je suis obligé de mettre cela pour m'afficher tous mes résultats?
oceane751 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 20h08.


 
 
 
 
Partenaires

Hébergement Web