doomer2 Posté 30 Octobre 2004 Posté 30 Octobre 2004 Bonjour à tous, Cela fait plusieurs semaines que je bloque sur quelquechose qui est à mon avis plus que faisable. Je posséde une table sql avec plus de 500 lignes de donnees avec plusieurs champs. Afin de consulter l'ensemble de cette table visuellement ainsi permettre de télécharger ce document en PDF aux visiteurs. Or à ce jour, je n'arrive pas à mettre en place cela à partir de FPDF malgé mes visites sur le forum de discussion de fpdf.org. Je suppose que certaines personnes maitrise FPDF sur ce forum et me donneront leurs aides. Je veux en clair me connecter à ma BD et selectionner tous les champs de ma base de données puis de créer un fichier PDF avec FPDF à la volée. A l'aide s'il vous plait. J'attends votre aide avec impatience et cela servira je pense à pas mal de mondes.
doomer2 Posté 5 Novembre 2004 Auteur Posté 5 Novembre 2004 Je ne sais pas si j'ai la galerie pdf sur le serveur de mon hebergeur. Comment le savoir ? C'est pour cela que j'etais partie sur FPDF. J'attends de l'aide de ta part.
Titag Posté 5 Novembre 2004 Posté 5 Novembre 2004 Je ne sais pas si j'ai la galerie pdf sur le serveur de mon hebergeur.Comment le savoir ? C'est pour cela que j'etais partie sur FPDF. Le plus simple est de tester à mon avis. Va sur ce site, tu y trouveras tout ce que tu as besoin de savoir. J'attends de l'aide de ta part. <{POST_SNAPBACK}> Pas de la part des autres ?
doomer2 Posté 5 Novembre 2004 Auteur Posté 5 Novembre 2004 Je ne vois rien concernant une connexion à une base mysal avec creation du pdf à la volée ?
Anonymus Posté 5 Novembre 2004 Posté 5 Novembre 2004 Il n'y a rien sur la page qu'il a indiqué, concernant mysql. Ceci dit, il y a des fonctions pdf. Essaies au moins l'une d'elles, pour voir si tu peux créer du pdf sur ton serveur. Donc, tu essaies ce script : <?php$pdf = pdf_new();pdf_open_file($pdf, "test.pdf");pdf_set_info($pdf, "Author", "Uwe Steinmann");pdf_set_info($pdf, "Title", "Test for PHP wrapper of PDFlib 2.0");pdf_set_info($pdf, "Creator", "See Author");pdf_set_info($pdf, "Subject", "Testing");pdf_begin_page($pdf, 595, 842);pdf_add_outline($pdf, "Page 1");$font = pdf_findfont($pdf, "Times New Roman", "winansi", 1);pdf_setfont($pdf, $font, 10);pdf_set_value($pdf, "textrendering", 1);pdf_show_xy($pdf, "Times Roman outlined", 50, 750);pdf_moveto($pdf, 50, 740);pdf_lineto($pdf, 330, 740);pdf_stroke($pdf);pdf_end_page($pdf);pdf_close($pdf);pdf_delete($pdf);echo '<a href="getpdf.php">terminé</a>';?> S'il te renvoie des messages d'erreur au sujet de fonctions qu'il ne connait pas, c'est vraisemblablement parce que tu n'as pas la librairie pdf installée sur ton serveur.. Donc, ca regle le problème. Si ca marche, alors effectivement, il faudra voir plus loin, notamment avec ta base de données. Mais ce n'est pas un ensemble. La base de données te permet d'extraire des données, la pdflib te permet de créer des documents. Sais tu extraire les données qui t'intéressent de ta base ? Anonymus.
doomer2 Posté 5 Novembre 2004 Auteur Posté 5 Novembre 2004 Bon, apparement pas de PDFLIB installé sur le serveur. J'ai donc installé FPDF et commencé à voir pour extraire et utiliser une base de données quelconque. Si quelqu'un posséde un modéle de création de PDF à la volée avec une table mysql ce serait le bien venu. J'arrive bien à extraire des données de ma base mysql. Pourquoi ?
doomer2 Posté 6 Novembre 2004 Auteur Posté 6 Novembre 2004 Bon , mon hébergeur m'a souligné qu'il n'y avait pas de librairie d'installer pour créer du PDF. Il m'a souligné de les coder à la main si je souhaitais créer des PDF. Comment faire ?
martin© Posté 6 Novembre 2004 Posté 6 Novembre 2004 (modifié) mon hébergeur m'a souligné qu'il n'y avait pas de librairie d'installer pour créer du PDF. Il m'a souligné de les coder à la main si je souhaitais créer des PDF Donc la solution fpdf est parfaite, elle ne nécessite aucune librairie. Je comprends pas où tu bloques. Traites en 2 temps, récupères tes données sur mysql (je suppose que tu sais le faire). Puis à partir de ces données tu génère ton pdf. Le site de fpdf a plein de tutoriels et de script qui te fournisses plein d'exemples. Par exemple pour générer un tableau : tutoriel 5 Modifié 6 Novembre 2004 par martin©
doomer2 Posté 6 Novembre 2004 Auteur Posté 6 Novembre 2004 Là où je bloque c'est que : j'arrive à créer un pdf en me connectant à ma base sql et à créer un tableau mais vu le nombre de données ma mise en page du pdf déconne et provoque un affichage premiere page impeccable et ensuite le tableau se decale vers le haut sur la seconde et ansi de suite jusqu'à plus rien voir.
martin© Posté 6 Novembre 2004 Posté 6 Novembre 2004 Calcule le nombre maximal de lignes que tu veux mettre dans un tableau sur une page, puis fais une boucle, tout les tant de lignes ajoute une nouvelle page (AddPage) et recommence un nouveau tableau.
doomer2 Posté 6 Novembre 2004 Auteur Posté 6 Novembre 2004 C facile à dire lorsque l'on débute sur ce type de document. N'y a t'il pas un exemple simple pour comprendre le fonctionnement ?
martin© Posté 7 Novembre 2004 Posté 7 Novembre 2004 Je suppose que tu as compris le tutoriel 5 de fpdf, dont je t'ai filé le lien. Imaginons que tu as le tableau (php) $donnees, contenant les données extraites de ta base mysql. Quand tu crées un tableau (graphique) pdf via la fonction ImprovedTable() du tutoriel, tu te rends compte sur ta premiere page (pdf) que tu souhaites afficher $nbreLigne par page (par exemple 30). Tu divises alors ton tableau $donnee en tableaux plus petit, de $nbreLigne éléments maximum : $donnees=array_chunk($donnees, $nbreLigne). Tu as donc $nbrePage=count($donnees) pages à créer. Ensuite ton fichier pdf peut être créé ainsi : $pdf=new PDF();for ($i=0; $i<$nbrePage;$i++){ $pdf->AddPage(); $pdf->ImprovedTable($header,$donnees[$i]);};$pdf->Output(); Bon, j'ai pas testé, mais l'idée doit marcher. On pourrait surement y arriver par d'autre moyen, c'est le premier qui m'est passé par la tête.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant