|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 95 ![]() |
Bien le bonjour à tous,
Cela fait plusieurs semaines maintenant que j'essaie de créer un fichier pdf avec des données récupérée dans ma base de donnée... j'ai d'abord créé l'entête, plus le footer, la, je n'avais pas de soucis... c'est quand j'essaie d'incorporer le tableau central que ca foire... je ne vois vraiment pas ou est mon soucis... si quelqu'un pouvait me guider, ce serait super sympa... J'ai toujours ce message d'erreur.... Citation:
Code :
|
|||
|
|
00
|
|
|
#2 |
|
Membre expérimenté
![]() Développeur Web Inscription : avril 2006 Messages : 430 ![]() |
Salut,
je dirais que tu as un petit problème de structure dans ce code. Vérfie là où devrait se terminer ta classe, car il y a du code avec des $pdf-> qui se trouve dans la fonction Footer de ta classe, et il manque des accolades fermantes.
__________________
Merci à Microsoft pour avoir transformé un métier relativement terne et basé sur une approche bêtement technique et rigoureuse des faits, en challenge quotidien, nécessitant une remise en question permanente à l'échelle du quart d'heure |
|
|
00
|
|
|
#3 | ||
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 95 ![]() |
merci de ton aide...
j'ai modifié le code, mais j'ai toujours ce message d'erreur..... Code :
|
||
|
|
00
|
|
|
#4 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Bonjour
Il semble qu'il te manque toujours une accolade dans ton script. Ta fonction page() utilise $pdf-> au lieu de $this-> j'en déduis que ca n'est pas une méthode de ta classe PDF. Donc juste avant tu verras que tu n'as qu'une seule accolade, celle qui ferme la méthode Footer(). Il manque donc l'accolade qui ferme la définition de la classe. |
|
|
00
|
|
|
#5 | ||
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 95 ![]() |
Trés juste, grand merci....
déjà un soucis de réglé... plus de message d'erreur, affichage de mon header et de mon footer... par contre, je ne vois pas mon tableau... j'imagine que mon erreur est grosse comme une maison... Code :
|
||
|
|
00
|
|
|
#6 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Hum. Comme tu l'as défini toi meme, la fonction page() n'est pas une méthode de ta classe PDF. Elle n'est pas appelée automatiquement comme peuvent l'être Header() et Footer() (qui sont, elles, des surcharges des méthodes par défaut).
Donc, soit tu mets la fonction page() dans la classe pdf et tu fais après ton addPage(). Soit tu changes les $this-> en $pdf-> dans la fonction page (c'est mieux) et donc tu penses à appeler explicitement page(); après ton addPage(); (et à mettre global $pdf; au début de ta fonction). |
|
|
00
|
|
|
#7 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 95 ![]() |
Je m'y attaque dés demain matin... grand merci pour ton aide...
je vous tient au courant dés que fait....
|
|
|
00
|
|
|
#8 | ||
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 95 ![]() |
bon... je ne saisis pas trop en fait...
j'appelle ma fonction en bas, sous addpage la, à mon avis, ca clope... par contre, déclarer ma $pdf en global, je ne suis pas trop en fait... voici ce que j'ai fait: Code :
|
||
|
|
00
|
|
|
#9 | ||
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
On s'est mal compris désolé. Je ne veux pas dire que ta variable pdf doit etre une variable globale dans tous tes scripts mais qu'il faut que ta fonction page() considère que $pdf n'est pas une variable locale (dans le sens définie à l'entrée dans la fonction, et libérée à la fin de la fonction). Elle a besoin de savoir que l'instance PDF a été créée avant qu'on l'appelle et pour ca tu lui dis global $pdf; ce qui équivaut à "ne t'en fais pas, tu ne la connais pas pour l'instant mais quand on t'exécutera la variable existera".
Et il reste tjs deux possibilités, soit la fonction page() devient une méthode de la classe PDF (donc elle rentre dans la classe, tu remplaces les $pdf-> par $this-> et tu l'appelles en faisant $pdf->page(); dans ton script). Soit la fonction page() prend en paramètres l'instance de la classe PDF courante : function page($pdf){...} et tu l'appelles par page($pdf); je ferai ca moi : Code :
Il faut faire la différence entre la définition de la fonction (son code) et l'endroit où elle va être appelée et exécutée. La définition de la fonction peut-être dans un tout autre fichier, elle ne connait donc pas les variables que tu utilises dans ton script avant de l'appeler (sauf si tu mets global $specialVariable; au début de la fonction |
||
|
|
00
|
|
|
#10 | ||
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 95 ![]() |
Ok, compris...
Mais je peux quand même insérer ma requête non? mais comme ca, ca ne fonctionne pas... Code :
|
||
|
|
00
|
|
|
#11 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
Hum.
Je ne sais pas ce qu'il y a dans le script que tu inclus donc je ne peux pas dire quel est le problème. Mais il serait mieux de ne pas inclure pas un script en plein milieu de ta fonction comme ca, tu ne sais pas exactement quelles variables sont définies etc sinon. Soit tu te crées une fonction qui va te retourner le résultat de cette requete précise, soit tu mets le code correspondant à cette requete dans ta fonction |
|
|
00
|
|
|
#12 |
|
Membre à l'essai
![]() Inscription : décembre 2006 Messages : 95 ![]() |
je crois que tout le problème repose la: je n'inclus aucun script...
je pensais pouvoir directement inclure ma requete sql dans ma page... je vais me remettre au boulot, rechercher d'autre tutoriaux sur le sujet... quoi qu'il en soit, je te remercie énormément pour le temps que tu as prix pour m'aider... j'ai déjà énormément avancé... Mille merci.... |
|
|
00
|
|
|
#13 |
|
Membre Expert
![]() Inscription : janvier 2005 Messages : 2 288 ![]() |
tu inclus un script puisque tu fais
Code :
require_once('../Connections/ProgFacture.php'); |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com