IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[FPDF] Générer un PDF en fonction d'un élément cliqué dans une liste


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2002
    Messages : 159
    Points : 62
    Points
    62
    Par défaut [FPDF] Générer un PDF en fonction d'un élément cliqué dans une liste
    Bonjour,

    J'ai une liste de devis et je voudrais mettre dans chaque ligne de cette liste un icone pdf. Ainsi , quand l'utilisateur cliquera sur cet icône, il aura le pdf du devis. J'ai testé la librairie fpdf mais sans succès. Elle me fait planter mon appli.

    Voici des bouts de mon code.

    Celui-ci correspond au code de la liste.

    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
     
    $txt.= "<table id='tbContent' width='660' cellpadding='1' cellspacing='1' border='0'>";
    $sqlDdeClients	= " SELECT d.id, DATE_FORMAT(d.date,'%d/%m/%Y') AS datefr, f.lib, f.cp
    		FROM demandesfournisseurs as d
    		LEFT JOIN fournisseurs as f ON d.fournisseur=f.id
    		WHERE d.id    LIKE '".$_GET[snumdde]."%' 
    		ORDER BY d.id		
    		LIMIT 0, 30
    		";
     
    $resDdeClients = mysql_query($sqlDdeClients);
     
    while ($tabDdeClients = mysql_fetch_assoc($resDdeClients))
    {
     
    $txt.= "<a href='./index.php?action=FormModDemandesFournisseurs&id=".$tabDdeClients[id]."' target='_parent'><tr class='".$col."' ".laMouse2($col).">";
    $txt.= "<td width='86'>".$tabDdeClients[id]."</td>";
    $txt.= "<td width='101'>".$tabDdeClients[datefr]."</td>";
    $txt.= "<td width='348'>".$tabDdeClients[lib]."</td>";
    $txt.= "<td>".$tabDdeClients[cp]."</td>";	
    $txt.= "<td><a href='./index.php?action=PDFDemandesFournisseurs&id=".$tabDdeClients[id]."' target='_parent'>PDF</a></td>";	
     
    $txt.= "</tr></a>";		
    }
    $txt.= "</table>";
    action = PDFDemandesFournisseurs correspont à ce bout de code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    switch($_GET['action'])
    {
    case "PDFDemandesFournisseurs":
    include_once("./functions.DemandesFournisseurs.php");
    PDFDemandesFournisseurs();
    break;
    }
    Voici ma fonction PDFDemandesFournisseurs() qui essaie d'afficher un pdf
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    function PDFDemandesFournisseurs()
    {
    require('fpdf/fpdf.php');
     
    $pdf=new FPDF();
    $pdf->AddPage();
    $pdf->SetFont('Arial','B',16);
    $pdf->Cell(40,10,'Hello World !');
    $pdf->Output();
    }
    J'ai remarqué qu'en insérant le code de la fonction PDFDemandesFournisseurs() directement dans une fonction appelée par un formulaire (submit) ça marche ...

    Je comprends pas pourquoi ça nemarche pas dans l'autre cas.

    Qqn peut m'éclairer ?

    Merci

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Elle me fait planter mon appli.
    Tu pourrais etre plus précis ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2002
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    En fait j'ai l'erreur suivante :

    FPDF error: Some data has already been output, can't send PDF file

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Cela signifie que quelque chose a été envoyé avant la production du document.
    Ca peut etre un header, un retour chariot, un echo, un BOM sur un fichier UTF8 etc.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2002
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    D'après ce que tu me dis, j'ai l'impression que dans mon cas, je peux pas trop l'utiliser. Y a t-il une autre façon de faire ? Parce que là, je suis perdue.

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si tu peux tout a fait faire comme cela.

    J'ai d'ailleurs moi meme un code qui le fait :
    un formulaire avec un bouton "imprimer" qui renvoit vers la page pdf.php.
    la page pdf.php recupere les champs du formulaire, fait les requetes, et produit le pdf.

    En relisant ton code, je suppose que le probleme vient du fait que tu fais produire le pdf a l'interieur de ta page index.php qui doit contenir des definitions d'en-tete etc.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Août 2002
    Messages
    159
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Août 2002
    Messages : 159
    Points : 62
    Points
    62
    Par défaut
    Oui c'est ça , t'as bien cerné le truc.

    Vue que je fais un logiciel de gestion commerciale, je vais devoir récupérer les données de mes différentes tables (devis, commande,...), j'aurais voulu éviter de faire différentes pages php.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Il faut alors que tu t'assures que le pdf output a lieu avant toute ecriture de html.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Fonction récursive trouver le max dans une liste.
    Par shirohige dans le forum Lisp
    Réponses: 17
    Dernier message: 17/09/2014, 19h54
  2. Réponses: 5
    Dernier message: 01/07/2010, 18h02
  3. Réponses: 4
    Dernier message: 04/08/2009, 16h36
  4. Réponses: 6
    Dernier message: 29/07/2009, 15h31
  5. Réponses: 6
    Dernier message: 31/07/2006, 16h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo