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] Créer des badges automatiquement


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Par défaut [FPDF] Créer des badges automatiquement
    Bonjour,

    Je souhaite creer des badges auto via une base de donnée MSSQL :
    J'ai plusieurs possiblitées :
    -Impression d'un user.
    -Impression d'un groupe.

    Pour l'utilisateur simple c'est ok ...
    J'ai un probleme en ce qui concerne le groupe d'utilisateur voici mon code :
    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
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    <?php
    session_start();
    //inclusion du module permettant l'acces à la bdd
    require("_include/dbaccess_mssql.inc.php");
    //Pour le fpdf
    define('FPDF_FONTPATH','../_include/fpdf/font/');
    require('../_include/fpdf/fpdf.php');
    //Connexion au serveur MSSQL
    $mssql_connect = mssql_connect($Server_mssql, $User_mssql, $Pass_mssql) or die;
    //Connexion au serveur my_sql
    $sql_select = mssql_select_db($DB_mssql, $mssql_connect) or die;
     
     
    class PDF extends FPDF
    {
    	//Construction de la forme du PDF
    	function FPDF($orientation='P',$unit='mm',$format=array(86,54))
    	{
    		$this->PDF($orientation,$unit,$format);
    		$this->posXlocale = 0;
    		$this->posYlocale = 0;
    		$this->setMargins(0,0,0);
    	}
     
    	//En-tête
    	function Header()
    	{
    	    //Logo
    	    $this->Image('_pics/Logo.jpg',21,2);
    		$this->SetFont('Arial','B',6);
    		$this->SetXY(0,11.5);
    		$this->SetTextColor(0,72,138);
    		$this->Cell(86,5,"Une entreprise du groupe DaimlerChrysler",0,1,'C');
    	}
     
    	//Pied de page
    	function Footer()
    	{
    		global $site_footer;
    		//Logo
    		$this->SetFont('Arial','',10);
    		$this->SetXY(0,49);
    		$this->SetDrawColor(0,72,138);
    		$this->SetFillColor(0,72,138);
    		$this->SetTextColor(255,255,255);
    		$this->Cell(86,5,"EvoBus France, Etablissement ".$site_footer.".",0,0,'C',1);
    	}
     
    	function ConstPDF($nom,$prenom,$site,$centre,$matricule)
    	{
    		$this->SetXY(3,24);
    		$this->SetTextColor(0,72,138);
    		$this->Cell(60,5,$nom.' '.$prenom);
    		$this->SetXY(3,30);
    		$this->Cell(60,5,$site.'-'.$centre.'-'.$matricule);
    		$this->Cell(65,20,"",0,0,'C',0,$pdf->Image('1085.JPG',65,20));
    	}
    }//fin de classe 
     
     
    //Requete MSSQL
    $query_pers = 'SELECT PERS.NOM_ ,PERS.PRENOM_ , SAL.MATRICULE_ , AFC1.TEXTE_  as TEXTE1, AFC2.TEXTE_ as TEXTE2 '
    						. ' FROM  '.$Table_pers.' PERS , '.$Table_sal.' SAL , '.$Table_affec.' AFC1, '.$Table_affec.' AFC2'
    						. ' WHERE AFC2.TEXTE_ like "'.$_SESSION['search_nom'].'"'
    						. ' AND  PERS.PERSONNE_ = SAL.PERSONNE_'
    						. ' AND PERS.PERSONNE_ = AFC1.SALARIE_ '
    						. ' AND PERS.PERSONNE_ = AFC2.SALARIE_ '
    						. ' AND AFC1.TITRE_ZONE_="2" '
    						. ' AND AFC2.TITRE_ZONE_="3" ;';
     
    //Execution requete
    $result_pers = mssql_query($query_pers);
    $numRows_pers = mssql_num_rows($result_pers);
     
    //affectation des variables a vide
    $nom="";
    $prenom="";
    $matricule="";
    $site ="";
    $centre="";
     
    //Creation du PDF
    $pdf = new PDF(); //on instancie un nouveau PDF
    $pdf->Open(); // on l'ouvre
    $pdf->AddPage();// on y ajoute une première page
    $pdf->SetFont('Arial','',14);//Type de police
    $pdf->SetAutoPageBreak(false,0);//Creation d'une nouvelle page auto à false
     
    while($row_pers = mssql_fetch_array($result_pers))
    	{
    		$nom       = $row_pers['NOM_'];
    		$prenom    = $row_pers['PRENOM_'];
    		$matricule = $row_pers['MATRICULE_'];
    		$site      = $row_pers['TEXTE1'];
    		//Permet de mettre le nom du site dans le footer 	
    		switch($site)
    		  {
    			  case "0060":
    			    $site_footer = "de Vitrolles";
    				break;
    			  case "0061":
    			    $site_footer = "de Sarcelles";
    				break;
    			  case "0062":
    			    $site_footer = "de Ligny en Barrois";
    				break;
    			  case "0069":
    			    $site_footer = "des Antilles";
    				break;
    		  }
    		$centre    = $row_pers['TEXTE2'];
     
    		//Appel a la fonction ConstPDF
    		$pdf->ConstPDF($nom,$prenom,$site,$centre,$matricule);
    	}
    //Fermeture de la BDD
    @mssql_close();
    //Sortie du FPDF
    $pdf->Output();
    $pdf->Close();
    exit;
    ?>
    Je ne voit pas trop ou est l'erreur ...
    Notice: Undefined variable: pdf in /home/httpd/dev/badges/fpdf_section.php on line 56

    Fatal error: Call to a member function Image() on a non-object in /home/httpd/dev/badges/fpdf_section.php on line 56
    Merci pour votre aide

  2. #2
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    Ah oui c'est ta classe qui est bizarre, pourquoi tu as une méthode qui s'appelle FPDF? parce que je suis pas sur que tu puisses avoir une méthode qui a le nom de la classe parent.
    A moins que tu essaies de surcharger le constructeur? et dans ce cas je ne pense pas que ca soit faisable comme ca, faut que tu fasses ta fonction __construct() qui va faire appel a parent::__construct() avec les bons paramètres.

    Enfin deja essaies en retirant FPDF() pour voir

  3. #3
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Par défaut
    Quelle erreur de débutant ( c'est normal j'en suis un )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $this->Cell(65,20,"",0,0,'C',0,$pdf->Image('1085.JPG',65,20));
    Il ne connait pas encore $pdf !

    En ce qui concerne:
    A moins que tu essaies de surcharger le constructeur? et dans ce cas je ne pense pas que ca soit faisable comme ca, faut que tu fasses ta fonction __construct() qui va faire appel a parent::__construct() avec les bons paramètres.
    Je ne sais pas ce que cela veut dire ,

    J'ai donc modifier le code comme ceci :
    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
    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
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <?php
    session_start();
    //inclusion du module permettant l'acces à la bdd
    require("_include/dbaccess_mssql.inc.php");
    //Pour le fpdf
    define('FPDF_FONTPATH','../_include/fpdf/font/');
    require('../_include/fpdf/fpdf.php');
    //Connexion au serveur MSSQL
    $mssql_connect = mssql_connect($Server_mssql, $User_mssql, $Pass_mssql) or die;
    //Connexion au serveur my_sql
    $sql_select = mssql_select_db($DB_mssql, $mssql_connect) or die;
     
     
    class PDF extends FPDF
    {
     
    	//En-tête
    	function Header()
    	{
    	    //Logo
    	    $this->Image('_pics/Logo.jpg',21,2);
    		$this->SetFont('Arial','B',6);
    		$this->SetXY(0,11.5);
    		$this->SetTextColor(0,72,138);
    		$this->Cell(86,5,"Une entreprise du groupe DaimlerChrysler",0,1,'C');
    	}
     
    	//Pied de page
    	function Footer()
    	{
    		global $site_footer;
    		//Logo
    		$this->SetFont('Arial','',10);
    		$this->SetXY(0,49);
    		$this->SetDrawColor(0,72,138);
    		$this->SetFillColor(0,72,138);
    		$this->SetTextColor(255,255,255);
    		$this->Cell(86,5,"EvoBus France, Etablissement ".$site_footer.".",0,0,'C',1);
    	}
     
    	function ConstPDF($nom,$prenom,$site,$centre,$matricule)
    	{
    		$this->SetXY(3,24);
    		$this->SetTextColor(0,72,138);
    		$this->Cell(60,5,$nom.' '.$prenom);
    		$this->SetXY(3,30);
    		$this->Cell(60,5,$site.'-'.$centre.'-'.$matricule);
    		$this->Cell(65,20,"",0,0,'C',0,$this->Image('1085.JPG',65,20));
    	}
    }//fin de classe 
     
     
    //Requete MSSQL
    $query_pers = 'SELECT PERS.NOM_ ,PERS.PRENOM_ , SAL.MATRICULE_ , AFC1.TEXTE_  as TEXTE1, AFC2.TEXTE_ as TEXTE2 '
    						. ' FROM  '.$Table_pers.' PERS , '.$Table_sal.' SAL , '.$Table_affec.' AFC1, '.$Table_affec.' AFC2'
    						. ' WHERE AFC2.TEXTE_ like "'.$_SESSION['search_nom'].'"'
    						. ' AND  PERS.PERSONNE_ = SAL.PERSONNE_'
    						. ' AND PERS.PERSONNE_ = AFC1.SALARIE_ '
    						. ' AND PERS.PERSONNE_ = AFC2.SALARIE_ '
    						. ' AND AFC1.TITRE_ZONE_="2" '
    						. ' AND AFC2.TITRE_ZONE_="3" ;';
     
    //Execution requete
    $result_pers = mssql_query($query_pers);
    $numRows_pers = mssql_num_rows($result_pers);
     
    //affectation des variables a vide
    $nom="";
    $prenom="";
    $matricule="";
    $site ="";
    $centre="";
     
    //Creation du PDF
    $dimensions = array(86,54);
    $pdf=new PDF('P', 'mm', $dimensions);//on instancie un nouveau PDF
    $pdf->posXlocale = 0;
    $pdf->posYlocale = 0;
    $pdf->setMargins(0,0,0);
    $pdf->Open(); // on l'ouvre
    $pdf->AddPage();// on y ajoute une première page
    $pdf->SetFont('Arial','',14);//Type de police
    $pdf->SetAutoPageBreak(false,0);//Creation d'une nouvelle page auto à false
     
    while($row_pers = mssql_fetch_array($result_pers))
    	{
    		$nom       = $row_pers['NOM_'];
    		$prenom    = $row_pers['PRENOM_'];
    		$matricule = $row_pers['MATRICULE_'];
    		$site      = $row_pers['TEXTE1'];
    		//Permet de mettre le nom du site dans le footer 	
    		switch($site)
    		  {
    			  case "0060":
    			    $site_footer = "de Vitrolles";
    				break;
    			  case "0061":
    			    $site_footer = "de Sarcelles";
    				break;
    			  case "0062":
    			    $site_footer = "de Ligny en Barrois";
    				break;
    			  case "0069":
    			    $site_footer = "des Antilles";
    				break;
    		  }
    		$centre    = $row_pers['TEXTE2'];
     
    		//Appel a la fonction ConstPDF
    		$pdf->ConstPDF($nom,$prenom,$site,$centre,$matricule);
    	}
    //Fermeture de la BDD
    @mssql_close();
    //Sortie du FPDF
    $pdf->Output();
    $pdf->Close();
    exit;
    ?>
    C'est perfectible mais je crois que cela fonctionne .
    Donc j'attend ta réponse sur la surcharge et je resous..
    Merci

  4. #4
    Membre Expert
    Inscrit en
    Janvier 2005
    Messages
    2 291
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 291
    Par défaut
    ben en fait je ne comprends pas a quoi servait la méthode FPDF dans ta classe PDF ?

  5. #5
    Membre éclairé
    Inscrit en
    Janvier 2006
    Messages
    250
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Janvier 2006
    Messages : 250
    Par défaut
    ba je ne sais pas j'ai un peu coder cette fonction sans reflechir mais je ne connais pas la surcharge...
    Merci encore a toi pour ton aide ...

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

Discussions similaires

  1. Créer des lancements automatiques pour mes jobs TOS
    Par Darcynette dans le forum Exécution et industrialisation
    Réponses: 3
    Dernier message: 24/11/2007, 09h40
  2. créer des onglets automatiquement
    Par bnreb10 dans le forum AWT/Swing
    Réponses: 7
    Dernier message: 07/08/2006, 09h05
  3. [FTP] Qui a le scrit pour créer des liens automatiques ?
    Par JackBeauregard dans le forum Langage
    Réponses: 4
    Dernier message: 03/07/2006, 20h37
  4. [FPDF] Créer des signets en PDF
    Par nebule dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 25/04/2006, 09h21
  5. créer des liens automatiquement mais sans boucle
    Par psychoBob dans le forum Langage
    Réponses: 8
    Dernier message: 15/12/2005, 15h20

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