begin process at 2010 02 10 06:33:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Base de données

 > VOS DONNÉES SOUS FORMAT PDF

VOS DONNÉES SOUS FORMAT PDF


 Information sur la source

Note :
7,8 / 10 - par 10 personnes
7,80 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Base de données Classé sous :fpdf, pdf, bdd, exemple, génération Niveau :Débutant Date de création :04/10/2005 Vu :35 283

Auteur : EMSIEN

Ecrire un message privé
Site perso
Commentaire sur cette source (39)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
Ce code est très simple,il est là seulement pour Montrer l'utilisation de la librairie FPDF avec PHP/MYSQL.
Affiche en un tableau les données comprises dans Votre Base de données MYSQL.
Vous devez avoir la librairie FPDF installé sur votre localhost pour que ce script puisse fonctionner.
Vous pouvez modifier ce code à votre guise changer les couleurs ajoutez d'autres fonctionnalités bien sur,j'ai fait le minimum possible et c'est ma première source sur PHPCS.
Merci de Votre attention.
http://ntic.blogspirit.com

Source

  • <?php
  • require('fpdf.php');
  • $pdf=new FPDF('P','cm','A4');
  • //Titres des colonnes
  • $header=array('Nom','Prenom','Pays');
  • $pdf->SetFont('Arial','B',14);
  • $pdf->AddPage();
  • $pdf->SetFillColor(96,96,96);
  • $pdf->SetTextColor(255,255,255);
  • mysql_connect('localhost','root','datapass') or die("ERROR DATABASE CONNECTION");
  • mysql_select_db('datatest') or die("DATA SELECTION ERRROR");
  • $query="select * from infos";
  • $resultat=mysql_query($query);
  • $pdf->SetXY(3,3);
  • for($i=0;$i<sizeof($header);$i++)
  • $pdf->cell(5,1,$header[$i],1,0,'C',1);
  • $pdf->SetFillColor(0xdd,0xdd,0xdd);
  • $pdf->SetTextColor(0,0,0);
  • $pdf->SetFont('Arial','',10);
  • $pdf->SetXY(3,$pdf->GetY()+1);
  • $fond=0;
  • while($row=mysql_fetch_array($resultat))
  • {
  • $pdf->cell(5,0.7,$row['nom'],1,0,'C',$fond);
  • $pdf->cell(5,0.7,$row['prenom'],1,0,'C',$fond);
  • $pdf->cell(5,0.7,$row['pays'],1,0,'C',$fond);
  • $pdf->SetXY(3,$pdf->GetY()+0.7);
  • $fond=!$fond;
  • }
  • $pdf->output();
  • ?>
<?php

require('fpdf.php');

$pdf=new FPDF('P','cm','A4');

//Titres des colonnes
$header=array('Nom','Prenom','Pays');

$pdf->SetFont('Arial','B',14);
$pdf->AddPage();
$pdf->SetFillColor(96,96,96);
$pdf->SetTextColor(255,255,255);
mysql_connect('localhost','root','datapass') or die("ERROR DATABASE CONNECTION");
mysql_select_db('datatest') or die("DATA SELECTION ERRROR");
$query="select * from infos";
$resultat=mysql_query($query);

$pdf->SetXY(3,3);
for($i=0;$i<sizeof($header);$i++)
    $pdf->cell(5,1,$header[$i],1,0,'C',1);

$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',10);
$pdf->SetXY(3,$pdf->GetY()+1);
$fond=0;
while($row=mysql_fetch_array($resultat))
  {
   $pdf->cell(5,0.7,$row['nom'],1,0,'C',$fond);
   $pdf->cell(5,0.7,$row['prenom'],1,0,'C',$fond);
   $pdf->cell(5,0.7,$row['pays'],1,0,'C',$fond);
   $pdf->SetXY(3,$pdf->GetY()+0.7);
   $fond=!$fond;
  }
$pdf->output();
?>

 Conclusion

Ya pas de problemes connus,pour plus d'informations contactez moi sur shkaff_school@hotmail.com .
http://ntic.blogspirit.com


 Sources de la même categorie

Source avec Zip EXTEND MYSQLI par petibras
Source avec Zip CLASSE DE COMMANDES PEAR DB par pascalmintrosse
Source avec Zip AFFICHER LE RÉSULTAT D'UNE REQUÊTE SQL SUR PLUSIEURS PAGE par karimmass
Source avec Zip SQLDIFF : MIGRATION, VERSIONNING ET SYNCHRONISATION DE LA ST... par aKheNathOn
Source avec Zip RÉSEAU AMICAL par Fidji56

 Sources en rapport avec celle ci

Source avec Zip FORMULAIRE POUR ENVOYER INFO SUR BDD par killers57
Source avec Zip Source avec une capture GÉNÉRATION DE CLASSES D'ACCÈS AUX DONNÉES À PARTIR DES TABLE... par djroulo
Source avec Zip CRÉATION DE FORMULAIRE SIMPLIFIÉE par Galip
Source avec Zip DECOMPOSEUR DE PDF (EXTRACTION DES PAGES) -[PHP-5 ORIENTÉ OB... par TheWeasel47
Source avec Zip Source avec une capture GÉNÉRATEUR DE FLUX RSS par glap

Commentaires et avis

Commentaire de pithanta le 05/10/2005 08:12:50

bonjour,

je debute evidemment mais ma question somme toute logique, ou trouve t on la librairie fpdf
merci
Pit

Commentaire de malalam le 05/10/2005 08:56:09 administrateur CS

Un tour sur google...et on tombe direct sur :
http://www.fpdf.org/

;-)
Puisque tu es débutant, précisons que cette librairie n'étant pas incluse dans le package de base de php, il y a peu de chance que ton hébergeur la possède, si tu es en mutualisé. (sinon, tout peut s'arranger)

Commentaire de pithanta le 05/10/2005 09:20:13

pour l'instant je travail en local
sous wamp et mysql
ou puis je trouver d'autre librairie
pit

Commentaire de malalam le 05/10/2005 09:33:48 administrateur CS

Cherche sur php.net...

Commentaire de massacr le 05/10/2005 13:22:18

Pratique...
8/10

Commentaire de cacoucatatonique le 05/10/2005 13:52:11

moi j'ai un autre probleme, quant je lui demande d'afficher deux mots lui il m'affiche n'importe quoi!!!
comment faire?

Commentaire de pithanta le 06/10/2005 07:52:20

pour donner des réponses comme inutil de passer par le forum

Commentaire de ouadou44 le 28/10/2005 02:24:15

salut
  j'ai bien tester ton code, il est  super super, il m'a donnée une nouvelle idée sur les possibilité de PHP.
   la librairie FPDF v 1.53 est disponible avec un Manuel de référence, un FAQ et un tutorial+(Doc, Historique).
  j'ai un peut tester la procedure c'est tout a fait pratiquable, Mais c'est purement Orienté Objet.
  il suffit de maitriser les méthode de la class FPDF et de les appeler corectement.
  il y'a deux superbe méthode :"Fouther" et "Header" pour haut et  pied de page(nbr page,titre...tous ça au tutoriel).

Merci.
Merci également pour ton code simple et clair.
ouadou44@hotmail.com

Commentaire de doudio le 03/01/2006 22:16:33

ton code est pas mal joli 8/10

Commentaire de statopulos01 le 28/02/2006 02:37:22

Merci pour ton code c'est très sympa de ta part EMSIEN, c'est pile ce que je cherchais comme base :)

Commentaire de lilab le 04/03/2006 11:10:38

salut
jai tester ton code il est vraiment pa mal et tres comprehensible, par contre j'ai un petit soucis; lorsque le pdf est généré il ne maffiche que le libéllé de chaque colonne mais pas les données de la requete et aussi jaimerais savoir comment interpréter cette ligne de code "$pdf->SetXY(3,$pdf->GetY()+0.7); "
merco

Commentaire de lilab le 04/03/2006 11:26:19

salut tres sympa ton code je lai tester mais j'ai un petit soucis le pdf est généré par contre il ne maffiche que le libellé des colonnes mais pa le resultat e la requete jaimerais aussi savoir comment interpréter cette ligne de code"$pdf->SetXY(3,$pdf->GetY()+0.7); "

Commentaire de EMSIEN le 05/03/2006 14:55:57

Salut LILA,
Peut être que ça marche pas chez toi parce qu'il ya un problème sur le résultat de ta requête.

Pour l'explication de la ligne: $pdf->SetXY(3,$pdf->GetY()+0.7);
elle permet de positionner le curseurà la colonne 3 (pour l'aligner avec le début du Tableau et il prends la valeur ou on se trouve sur les lignes(GetY();) puisque les lignes s'incrémente et enfin concernant le 0.7 c'est la hauteur d'une Cellule du Tableau ($pdf->cell(5,0.7,$row['nom'],1,0,'C',$fond);).
J'espère que j'ai pu répondre à ta question comme il le faut,sinon tu pourra toujours me contacter par mail pour parler d'avantage sur la chose.
Cordialement Mehdi.
http://ntic.blogspirit.com

Commentaire de meibi55 le 31/05/2006 07:58:20

Bonjour,

Merci pour votre Code-Source, lorsque que j'ajoute ce bout de code dans ma page ce message d'erreur vient lors de l'execution :

-----------------------------------------erreur--------------------------------------

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\inetpub\wwwroot\N_consecutifs\utilisateur\attr_auto.php3 on line 151

Warning: Cannot modify header information - headers already sent by (output started at c:\inetpub\wwwroot\N_consecutifs\utilisateur\attr_auto.php3:151) in c:\inetpub\wwwroot\N_consecutifs\utilisateur\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file
------------------------------------------------------------------------------------

Je connais très mal la fonction PDF dans PHP donc j'ai aucune idée de quoi cela peut venir, et pour la librairie FPDF je suis pas sur de l'avoir installé correctement, j'ai juste décompresser les fichiers downloader sur le site officiel, dans le même dossier ou se trouve ma page dans laquelle j'ai besoin de générer un PDF.

Je me demandais en fait si on doit vraiment ajouter ce bout de code dans notre page, ou si il faut plutot créer une page indépendente nommée par exemple "pdf.php" et ensuite l'appeler depuis l'autre page mais la je savais pas comment transmettre les valeur des variables... enfin j'aurai besoin de quelques infos parce que je nage un peu en eaux troubles la...


D'avance merci beaucoup !

Loïc

Commentaire de cacoucatatonique le 31/05/2006 08:13:07

salut
pour la librairie FPDF il faut le mettre dans chaque sous dossier ou tu va l'utiliser, il faut obligatoirement que la page qui va te generer ta page pdf soir exclusivement dedier au pdf, pas de print pas d'echos pas dimage sauf avec les commande du FPDF.
parcontre montre nous tton bout de code qui va generer ton pdf pour que lon puisse savoir ou est ton bleme.
a+
cyril

Commentaire de lotfikecir le 25/06/2006 17:35:12

salut les amis, je n'arrive pas à récuperer mes fichiers PDF dans les base de données MySQL?

Commentaire de gaelgerard le 06/07/2006 12:10:32

Super code merci beaucoup.
Je cherche moi la possibilité de créer à la volée depuis un formulaire. Je pense que la je suis sur la bonne voie.
Pour Cyril, autre méthode que créer une copie de la librairie dans tous les dossiers, tu peux également l'appeler depuis ta page. Cf si elle se trouve dans un dossier patent tu fais <quote>  require('dossier/fpdf.php'); </quote> au lieu de <quote> require('fpdf.php');
</quote>
Bonne journée à tout le monde

Commentaire de gaelgerard le 06/07/2006 12:12:05

Evidemment les <quote> et </quote> sont là pour faire joli et à ne pas mettre dans vos pages.
Y a pas une fonction de ce type dans le forum ?

Commentaire de yanchasp le 28/09/2006 16:38:12

Salut,
voila je l'avais deja mis cette classe, pour la lecture de bdd, ca se passe bien a part une chose, les espaces.
Si dans ma bdd, j'ai "208 route dici"  --> quand je lis dans le pdf il me saute le texte apres le premier espace --> "208" et plus rien.

Est ce que quelqu'un aurait la solution s'il vous plait merci ;-)

Commentaire de ns_deux le 25/04/2007 22:38:49

Bonjour à tous,
Voilà j'essais d'afficher dans un tableau PDF avec FPDF le resultat d'une requete de recherche mais j'ai le messages d'erreur : FPDF error: Some data has already been output, can't send PDF file.

ma requete est bonne. Je vous passe mon code
Code :

  <?php define('FPDF_FONTPATH','font/'); include("fond.php"); require("connect_atelier.php"); require('fpdf.php'); $req=$_POST['passage_req']; $pdf=new FPDF('P','cm','A4');   //Titres des colonnes $header=array('Nb','Winpark','Matériel','Modèle','Numéro','Unité','Utilisation','Nom CSAV'); $pdf->SetFont('Arial','B',14); $pdf->AddPage(); $pdf->SetFillColor(96,96,96); $pdf->SetTextColor(255,255,255); $resultat=mysql_query(stripslashes($req),$connect)or die ('<br><br><br><center>La reponse ne contient aucun enregistrement <br><br> ou <br><br> une erreur est survenue qui est : '.mysql_error().'</center>' ); $pdf->SetXY(3,3); for($i=0;$i<sizeof($header);$i++) $pdf->cell(5,1,$header[$i],1,0,'C',1); $pdf->SetFillColor(0xdd,0xdd,0xdd); $pdf->SetTextColor(0,0,0); $pdf->SetFont('Arial','',10); $pdf->SetXY(8,$pdf->GetY()+1); $fond=0; $j=1; while($row=mysql_fetch_array($resultat)) { $pdf->cell(5,0.7,$j,1,0,'C',$fond); $j=$j+1; $pdf->cell(5,0.7,$row['winpark'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['materiel'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['modele'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['numero'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['unite'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['utilisation'],1,0,'C',$fond); $pdf->cell(5,0.7,$row['nom_csav'],1,0,'C',$fond); $pdf->SetXY(3,$pdf->GetY()+0.7); $fond=!$fond; } $pdf->output(); ?>    

Si qq'un peut m'aider
Merci d'avance

Commentaire de EMSIEN le 25/04/2007 22:46:31

à mon avis tu envoies quelque chose avant d'envoyer ce qui est générer en PDF, je pense qu'il s'agit de tA PAGE fond.php essaie de l'enlever pour voir si de ça vient le problème.

Bonne chance.

Commentaire de ns_deux le 26/04/2007 07:10:15

voilà le message si je retire le fpdf.php

Warning: main(fpdf.php) [function.main]: failed to open stream: No such file or directory in c:\wamp\www\recherche_resultat_impression.php on line 5

Fatal error: main() [function.require]: Failed opening required 'fpdf.php' (include_path='.;C:\php5\pear') in c:\wamp\www\recherche_resultat_impression.php on line 5

Commentaire de diego29 le 13/06/2007 10:54:19

Bonjour,

j'ai essayé ce code à l'identique en le nommant gen_pdf.php j'obtient l'erreur suivante :

Warning: Cannot modify header information - headers already sent by (output started at H:\serveur web\ZMWS\_web.zmwsc\conference\gen_pdf.php:11) in H:\serveur web\ZMWS\_web.zmwsc\conference\fpdf.php on line 1022
FPDF error: Some data has already been output to browser, can't send PDF file.

une idée sur la résolution de ce problème ?
merci

Commentaire de Agredel le 03/04/2008 16:33:42

Bonjour, j'aurai 2 questions.

1 Peut-on insérer ce script comportant des donnée issues d'un base de donnée et disposée nom pas sous forme de tableau mais sous forme de colonne (comme les articles de presse)?

2 Comment la position des entetes de colonne du tableau sont-elles reconnus. (probleme de  chevauchement dans les nom des en-tetes de colonne)?

Merci pour ta réponse

Cordialement

Commentaire de EMSIEN le 04/04/2008 01:04:04

diego29 ==> Voilà regarde par ici :
http://www.fpdf.org/fr/tutorial/tuto4.htm (source)
http://www.fpdf.org/fr/tutorial/tuto4.php (exécution)
Bon courage.

Commentaire de assenaff le 30/06/2008 14:52:33 7/10

Bonjour.
en ce qui concerne le probleme de NS_DEUX,
tu dois remettre la ligne "require(fpdf.php);"dans ton code.et ensuite tu supprimes toutes les balises html.(comme <html><body></body></html>).
Il ne doit rester que <?php et ?>.
Au revoir.

Commentaire de XdiZ le 31/07/2008 08:52:39

Merci pour cette demo et ce script, je m'en suis inspiré pour mon générateur de devis ;)

Commentaire de godhead2 le 08/11/2008 11:34:46 10/10

10/10 : Ca fonctionne tout seul !!

Commentaire de rottweiler le 27/03/2009 17:23:15

Fonctionne parfaitement, bravo ! Tu m'as réconcilié avec FPDF

Commentaire de gaetan59242 le 03/06/2009 15:16:42

Bonjour à tous !!!!
Voila j'ai tester le code le code et je l'ai lis dans une page pour qu'un bouton envoyer générer le code jusque là pas de souci.
Avec Wamp il me dit :
Parse error: parse error in C:\wamp\www\base propre\import_pdf_classes.html on line 28

Voici le code de ma page
<html>

<head>
<link href="index.css" rel="stylesheet" type="text/css"  />
<script language="javascript" src="verif_formulaire.js"></script>

</head>

<body>
<div id="titre"><p>Importation de classes en pdf ...</p></div>

<form method="POST"  action="" name="formulaire">

Classe : <select size="1" name="classe">
<option selected></option>
<option>CM2</option>
<option>CM1</option>
<option>CE2</option>
<option>CE1</option>
<option>CP</option>
<option>Mat. grands</option>
<option>Mat. moyens</option>
<option>Mat. petits</option>
</select></p>

<p> <p> <input type="submit" name="ok" value="Envoyer" onClick="return verif_formulaire(this.form)"/></p>
<?php
    *//C'est ici la ligne 28 là je ne comprend pas pourquoi?
    * require('fpdf.php');
    *
    * $pdf=new FPDF('P','cm','A4');
    *
    * //Titres des colonnes
    * $header=array('Nom','Prenom','');
    *
    * $pdf->SetFont('Arial','B',14);
    * $pdf->AddPage();
    * $pdf->SetFillColor(96,96,96);
    * $pdf->SetTextColor(255,255,255);
    * mysql_connect('localhost','root','') or die("ERROR DATABASE CONNECTION");
    * mysql_select_db('cantine') or die("DATA SELECTION ERRROR");
    * $query="select * cantine_rens_gen";
if (isset($_GET['gestion des élèves'])){
$classe=$_GET['gestion des élèves'];
}
else
{
$classe="CM2";
}

echo '<form action="" method="POST">';
$query ="SELECT nom,prenom FROM cantine_rens_gen WHERE classes='$classe'";
$result = mysql_query($query) or die ("query failed");

    * $resultat=mysql_query($query);
    *
    * $pdf->SetXY(3,3);
    * for($i=0;$i<sizeof($header);$i++)
    * $pdf->cell(5,1,$header[$i],1,0,'C',1)
    *
    * $pdf->SetFillColor(0xdd,0xdd,0xdd);
    * $pdf->SetTextColor(0,0,0);
    * $pdf->SetFont('Arial','',10);
    * $pdf->SetXY(3,$pdf->GetY()+1);
    * $fond=0;
    * while($row=mysql_fetch_array($resultat))
    * {
    * $pdf->cell(5,0.7,$row['nom'],1,0,'C',$fond);
    * $pdf->cell(5,0.7,$row['prenom'],1,0,'C',$fond);
    * $pdf->SetXY(3,$pdf->GetY()+0.7);
    * $fond=!$fond;
    * }
    * $pdf->output();
    * ?>
</form>

</body>

</html>


Merci de m'aider.

Commentaire de javalang le 14/08/2009 04:13:10

salut, EMSIEN!
p'tètre que ça paraît bête!
Je veux commencer avec FPDF.
J'ai lu sur www.fpdf.org
J'ai téléchargé le dossier dans EasyPhp 3.0/www/mondossier où se trouve mon index.php.
J'ai essayé ton code. RIEN-RIEN-RIEN
Je ne sais pas où mettre le fichier, comment paramétrer.
Je sollicite un guide pas-à-pas.
Merci.

Commentaire de EMSIEN le 14/08/2009 21:50:54

Salut Javalang,
je ne me rappelle pas vraiment ou j'ai mis le répertoire de FPDF, je crois que tu peux le mettre au même niveau que mondossier, càd sous www et il suffit juste de bien donner le bon chemin.
Sinon pour un guide pas à pas, tu pourras voir sur leur site d'ou tu as téléchargé FPDF ou bien une petite recherche sur le net tu permettras de trouver tout ce que tu veux.
Bon courage.

Commentaire de javalang le 14/08/2009 22:00:11

Merci, je vais continuer à me casser la tête.
Merci pour ton exemple.

Commentaire de EMSIEN le 14/08/2009 22:26:01

Voici ce que j'ai pu trouver pour toi sur le net :
http://obligement.free.fr/articles/fpdf.php
http://www.phpcs.com/forum/sujet-COMMENT-INSTALLER-FPDF_526992.aspx

Des fois il y a une erreur sur font (ce que j'ai trouvé dans les forums), tu pourras te balader dessus et trouver des réponses ...

J'espère que ça pourra te servir, bon courage.

Commentaire de javalang le 14/08/2009 23:07:30

Tout de suite, "fpdf.php" est à la base avec "index.php" et "amiwestpres_remix.pdf".
"pagePrint.php" est accéder par un 'case' de "index.php?action=pagePrint"
J'ai mis le code suivant dans "includes/pagePrint.php",
mais le code renvoie un message "FPDF error: Some data has already been output, can't send PDF file"

<?php

require('fpdf.php');

// mode paysage, a4, etc.

$pdf=new FPDF('L','mm','A4');
$pdf->Open();

// champs facultatifs

$pdf->SetAuthor('Hyperion - Ben Hermans');
$pdf->SetCreator('CygnusEd 4.21 & Fpdf');
$pdf->SetTitle('Amiwest AmigaOS 4 Presentation');
$pdf->SetSubject('Remix by bIgdAn');

// on charge les 83 gfx...

$pdf->SetMargins(0,0);
for ($i=1; $i<84; $i++) {
$pdf->AddPage();
//$pdf->Image('Diapositive'.$i.'.JPG',0,0,297,210,'JPEG');
}

// Et on affiche le pdf généré... (ou on le sauvegarde en local)
// $pdf->Output(); pour afficher sur votre navigateur

$pdf->Output('amiwestpres_remix.pdf');

?>

Commentaire de javalang le 15/08/2009 01:01:23

C'est trouvé!
je pointais le mauvais fichier.
j'ai pu générer le pdf.
Merci.

Commentaire de EMSIEN le 15/08/2009 13:05:18

Eh ben Super.

Commentaire de younes371 le 22/10/2009 18:05:36

Bonjour,

je vous remercie pour votre code :

LE code ça marche pour moi très bien, mais j'au un seul souci, je veux ajouter En-tête, pied de page (Header et Footer) mais le resultat n'est pas ce que je souhaite; j'ai fais comme celà :

<?php
require('fpdf16/fpdf.php');
// On se connecte à la base
include("cnx/cnx.php");
$id=$_GET['id'];
class PDF extends FPDF
{
//En-tête
function Header()
{
//Logo
    $this->Image('images/gipsi_3.gif',10,8,33);
//$this->Cell(40,10,'Hello World !');
//Police Arial gras 15
$this->SetFont('Arial','B',15);
//Décalage à droite
$this->Cell(80);
//Titre
$this->Cell(80,10,'Fiche de mise en exploitation',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');
}
}

//Fichier pdf en format A4
$pdf=new PDF('P','cm','A4');



//Instanciation de la classe dérivée
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->SetFont('Arial','B',8);
$pdf->SetFillColor(96,96,96);
$pdf->SetTextColor(255,255,255);


//La selection des objets du projets demande
$req_list_obj='SELECT nom FROM personne WHERE ville="'.$id.'" ) order by nom_objet ';
$resultat=mysql_query($req_list_obj)or die (mysql_error());

$pdf->SetXY(1,1);

//En-tête du tableau
    $w=array(2,2,2,2,2,2,7);

//Titres des colonnes
$header=array('Nom');
/*for($i=0;$i<sizeof($header);$i++)
    $pdf->cell(2,1,$header[$i],1,0,'C',1);*/

$pdf->cell( $w[0],1,$header[0],1,0,'C',1);



$pdf->SetFillColor(0xdd,0xdd,0xdd);
$pdf->SetTextColor(0,0,0);
$pdf->SetFont('Arial','',8);
$pdf->SetXY(1,$pdf->GetY()+1);
$fond=0;

while($row=mysql_fetch_array($resultat))
  {
  

//Remplissage des cellule du tableau
$pdf->cell($w[0],1,$row['nom'],1,0,'C',$fond);

$pdf->SetXY(1,$pdf->GetY()+1);
$fond=!$fond;
  }
$pdf->output('Fiche'.$id.'_'.date("Y_m_d").'.pdf','I');



?>



Merci pour votre aide

Commentaire de younes371 le 28/10/2009 14:10:25

Bonjour,

J'ai pu trouvé la solution. Ainsi,je vous transmet un code qui peut faire :

Affiche du logo en entête, plus un titre en entête, plus des informations dynamique en entête et l'entête du tableau qui va contenir le resultat,

Puis (en corps de la page) le resultat à partir de la bse de données (dynamique).

Au pied de page on affiche un tableau pour lasignateure des differents acteurs et aussi le numero de page courant :
<?php
session_start();
// On se connecte à la base
include("cnx.php");
require('fpdf16/fpdf.php');

ob_end_clean();

class PDF extends FPDF
{

//En-tête
function Header()
{
//Logo
$this->Image('images/logo.gif',10,8,33);
//Saut de ligne
$this->Ln(1);
//Police Arial gras 15
$this->SetFont('Arial','B',15);
//Décalage à droite
$this->Cell(1);
//Titre
$this->Cell(197,10,'Fiche',1,0,'C');
//Saut de ligne
$this->Ln(5);
$this->SetFont('','B',10);
$this->ExportHeader();
}

//Pied de page
function Footer()
{
//Positionnement à 1,5 cm du bas
$this->SetY(-15);
//Numéro de page
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'R');
}


function MultiCell($w, $h, $txt, $border=0, $align='J', $fill=false, $indent=0)
{
//Output text with automatic or explicit line breaks
$cw=&$this->CurrentFont['cw'];
if($w==0)
$w=$this->w-$this->rMargin-$this->x;

$wFirst = $w-$indent;
$wOther = $w;

$wmaxFirst=($wFirst-2*$this->cMargin)*1000/$this->FontSize;
$wmaxOther=($wOther-2*$this->cMargin)*1000/$this->FontSize;

$s=str_replace("\r",'',$txt);
$nb=strlen($s);
if($nb>0 && $s[$nb-1]=="\n")
$nb--;
$b=0;
if($border)
{
if($border==1)
{
$border='LTRB';
$b='LRT';
$b2='LR';
}
else
{
$b2='';
if(is_int(strpos($border,'L')))
$b2.='L';
if(is_int(strpos($border,'R')))
$b2.='R';
$b=is_int(strpos($border,'T')) ? $b2.'T' : $b2;
}
}
$sep=-1;
$i=0;
$j=0;
$l=0;
$ns=0;
$nl=1;
$first=true;
while($i<$nb)
{
//Get next character
$c=$s[$i];
if($c=="\n")
{
//Explicit line break
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$i++;
$sep=-1;
$j=$i;
$l=0;
$ns=0;
$nl++;
if($border && $nl==2)
$b=$b2;
continue;
}
if($c==' ')
{
$sep=$i;
$ls=$l;
$ns++;
}
$l+=$cw[$c];

if ($first)
{
$wmax = $wmaxFirst;
$w = $wFirst;
}
else
{
$wmax = $wmaxOther;
$w = $wOther;
}

if($l>$wmax)
{
//Automatic line break
if($sep==-1)
{
if($i==$j)
$i++;
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
$SaveX = $this->x;
if ($first && $indent>0)
{
$this->SetX($this->x + $indent);
$first=false;
}
$this->Cell($w,$h,substr($s,$j,$i-$j),$b,2,$align,$fill);
$this->SetX($SaveX);
}
else
{
if($align=='J')
{
$this->ws=($ns>1) ? ($wmax-$ls)/1000*$this->FontSize/($ns-1) : 0;
$this->_out(sprintf('%.3f Tw',$this->ws*$this->k));
}
$SaveX = $this->x;
if ($first && $indent>0)
{
$this->SetX($this->x + $indent);
$first=false;
}
$this->Cell($w,$h,substr($s,$j,$sep-$j),$b,2,$align,$fill);
$this->SetX($SaveX);
$i=$sep+1;
}
$sep=-1;
$j=$i;
$l=0;
$ns=0;
$nl++;
if($border && $nl==2)
$b=$b2;
}
else
$i++;
}
//Last chunk
if($this->ws>0)
{
$this->ws=0;
$this->_out('0 Tw');
}
if($border && is_int(strpos($border,'B')))
$b.='B';
$this->Cell($w,$h,substr($s,$j,$i),$b,2,$align,$fill);
$this->x=$this->lMargin;
}//End function Multicell
//Tableau coloré
function ExportTableau($data)
{



//Restauration des couleurs et de la police
$this->SetFillColor(224,230,255); //couleur du fond des cases
$this->SetTextColor(0); //couleur du texte des cases
$this->SetFont('');

$w=array(15,20,20,20,20,15,87);
//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,'L',$fill);
$this->Cell($w[2],6,$row[2],'LR',0,'C',$fill);
$this->Cell($w[3],6,$row[3],'LR',0,'C',$fill);
$this->Cell($w[4],6,$row[4],'LR',0,'C',$fill);
$this->Cell($w[5],6,$row[5],'LR',0,'C',$fill);
$this->Cell($w[6],6,$row[6],'LR',0,'L',$fill);

//$this->Cell($w[7],6,$row[7],'LR',0,'L',$fill);

$this->Ln(6);

$fill=!$fill;
}//foreach

$this->Cell(array_sum($w),0,'','T');
}


//Tableau coloré

function ExportHeader()
{

$chef_departement=$_SESSION['chef_departement'];

//Couleurs, épaisseur du trait et police grasse

$this->SetFillColor(255,255,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes

$this->SetFont('','B');

$this->SetXY(5,40);
//En-tête du tableau


$this->Cell(75,6,'Info 1 :');
$this->Cell(200,6,' : info 1');
$this->Ln();
$this->Cell(75,6,'Info 2 :');
$this->Cell(200,6,' : info 2');
$this->Ln();
$this->Cell(75,6,'chefs departement :');
$this->Cell(200,6,' : '.$chef_departement);
$this->Ln();
$this->Cell(75,6,'Info 4 :');
$this->Ln();
$this->SetFont('Arial','',8);
//Plusieurs lignes
$this->MultiCell(0,5,'Info 4 peut être sur plusieurs lignes',1,'J',0,0);

$this->Ln(15);
$this->SetFont('Arial','B',12);
$this->Cell(75,6,'Liste des Clients');
$this->SetFont('Arial','B',8);
$this->Ln(6);

//En-tête du tableau
$this->SetFillColor(150,180,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes
$this->SetDrawColor(0); // couleur des bordures
$this->SetLineWidth(.3); //epaisseur des traits
$this->SetFont('','B');

//Titres des colonnes
$header=array('Nom','Prenom','Ville','Adresse');
$w=array(15,20,20,20,20,15,87);

for($i=0;$i<count($header);$i++)
$this->Cell($w[$i],10,$header[$i],1,0,'L',1);

$this->Ln();
}

function ExportSignateur()
{

//Titres des colonnes
$signateur=array('Chef departement','Directeur','Secrétaire','PDG');


$this->SetFillColor(255,255,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes
$this->SetDrawColor(0); // couleur des bordures
$this->SetLineWidth(.3); //epaisseur des traits
$this->SetFont('','B');

$w=array(49,49,49,49);

$this->SetFillColor(255,255,255); //fond des entetes de colonnes
$this->SetTextColor(0); //couleur du texte des entetes des colonnes
$this->SetDrawColor(0); // couleur des bordures
$this->SetLineWidth(.3); //epaisseur des traits
$this->SetFont('','B');

for($i=0;$i<count($signateur);$i++)
$this->Cell($w[$i],10,$signateur[$i],1,0,'C',1);
$this->Ln(10);
for($i=0;$i<count($signateur);$i++)
$this->Cell($w[$i],20,' ',1,0,'C',1);


$this->Ln(5);
}


}


//Identifiant du projet
$id=$_GET['id'];


//Requete SQL : Informatiosn sur les objets
$query = 'SELECT nom,prenom,code_ville,adresse FROM clients WHERE code_departement="'.$id.'" ';
$result = mysql_query($query) or die ('Erreur SQL !<br />' . $query . '<br />' . mysql_error());

//Boucle sur les resultats
$data = array();
while($row = mysql_fetch_array($result))
{
array($row);


//La selection de l'adresse du client
$code_ville=$row['2'];
$req_ville=mysql_query("SELECT intitule_adresse FROM adresse where code_adresse='".$code_ville."'") or die (mysql_error());
if(mysql_num_rows($req_ville)>0) $row['2']=mysql_result($req_ville,0,"intitule_adresse");

//L'adresse du client
//Affichage des 110 premiers caracteres de l'adresse si la longueur depasse 110 caracteres
if(strlen($row['3'])>110)
$row['3']=stripslashes(substr($row['6'],0,110).'..>');

$data[]=$row;

}

//Requette SQL Information sur les chefs
//Chef departement
$chef_departement= '';
$req_pa=mysql_query("SELECT nom,prenom FROM acteur WHERE code_departement='".$id."' ")or die(mysql_error());
if(mysql_num_rows($req_pa)>0)
{
$nb=0;
//Possiblité d'avoir plusieurs chefs
while ($array = mysql_fetch_array($req_pa))
{
$nom_=$array["nom"];
$prenom_=$array["prenom"];
$chef_departement .= $nom_." ".$prenom_." / ";
}
}
else
{
$resultat_cp .="**** Aucun Chef n'est encore affecté à ce departement ****";
}


$_SESSION['chef_departement']=$chef_departement;


//Creation pdf
$pdf=new PDF('P');

//Tableau
$pdf->SetFont('Arial','',8);
$pdf->SetMargins(5,20);
$pdf->AliasNbPages();
$pdf->AddPage();
$pdf->ExportTableau($data);
$pdf->ln(20);
$pdf->SetY(-60);
$pdf->SetFont('Arial','B',12);
$pdf->Cell(75,6,'Signature');
$pdf->ln(6);
$pdf->SetFont('Arial','B',8);
$pdf->ExportSignateur();
$pdf->Output('Fiche_'.$id.'_'.date("Y_m_d").'.pdf','I');

?>

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

génération d'un doc pdf [ par skoukni_brahim ] bonjour a tous et merci d'avance, j'ai recupere le code suivant que j'ai nimm&#233; imprime.php&lt;?php define('FPDF_FONTPATH','font/'); require('fpdf comment ouvrir un fichier pdf avec fpdf? [ par MP2P ] je r&#233;alise un site de cours en ligne o&#249; des professeurs pourront mettre &#224; disposition leurs cours en format pdf. les fichiers pdf seron FPDF au secours... [ par KieferS ] Bonjour, Je viens d'installer fpdf. Cependant, en voulant lancer le tutorial suivant : &lt;?phprequire('fpdf.php');$pdf=new FPDF();$pdf-&gt;AddPage(); fpdf et requete [ par Majoom ] Bonjour, J'ai un petit problème avec un formulaire. Lorsque je valide celui ci, je suis redirigé vers une page où là j'effectue une requete d'insertio Création fichier pdf [ par flopad ] Bonjour &#224; tout le monde!Voila, je souhaite extraire des donn&#233;es de ma base access et les envoyer dans un fichier pdf.J'arrive bien &#224; en Génération PDF [ par djsfinx ] Salut j'ai un petit prob je voudrais g&#233;ner&#233;r un fichier PDF sous une page courante.Je me situe&nbsp;, par exemple sur "index.php"&nbsp;. Je Problème de conservation de champs dans fpdf [ par sebby45 ] Bonjour à tous,Voici mon problème :Apres avoir rempli et validé un formulaire, on peut cliquer sur un bouton "génerer pdf", qui reprend les valeurs du Php et pdf, largeur cellule [ par flopad ] Salut, lorsque j'essaie de f&#233;finir la taille de la largeur des colonnes d'entete de mon tableau, ca me sort une erreur d'offset sur la ligne&nbsp Utilisation fpdf et php [ par flopad ] Bonjour, d&#233;sol&#233; d'insister et de revenir &#224; la charge mais j'ai un gros soucis avec mon code que je n'arrive pas &#224; r&#233;soudre et Pb avec fpdf pour generer un fichier pdf [ par hasen ] Bonjour, je voudrais generer un fichier pdf a partir de données que j'ai dans ma base de données, j'ai donc fait quelques recherches sur internet et j


Nos sponsors


Sondage...

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,045 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales