cs_sebalex
Messages postés150Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 6 janvier 2017
-
10 juil. 2009 à 14:18
nautilus99
Messages postés661Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention18 septembre 2009
-
10 juil. 2009 à 15:15
Bonjour à tous,
Je n'arrive pas à afficher les variables recherchées dans ma base lorsque je crée un pdf. Est-ce que quelqu'un pourrait m'aider car j'ai vraiment tout essayer mais sans résultats.
Voici mon code (en espérant que ce soit lisible)
<?php
require('fpdf.php');
require_once('../../Connections/connexion.php');
mysql_select_db($database_connexion, $connexion);
$query_licences "SELECT * FROM licences WHERE session '$session'";
$licences = mysql_query($query_licences, $connexion) or die(mysql_error());
$row_licences = mysql_fetch_assoc($licences);
$user = $row_licences['user'];
$base = $row_licences['base'].'.php';
mysql_select_db($database_connexion, $connexion);
$query_societe "SELECT * FROM clients WHERE id_client '$row_licences[id_client]'";
$societe = mysql_query($query_societe, $connexion) or die(mysql_error());
$row_societe = mysql_fetch_assoc($societe);
$logo = $row_societe['logo'];
$titre = $row_societe['titre'];
$adresse = $row_societe['adresse'];
class PDF extends FPDF
{
//En-tête
function Header()
{
//Logo
$this->Image('../logos/'.$logo.'.jpg',95,8,20);
//Police Arial gras 15
$this->SetFont('Arial','B',9);
//Titre
$this->Cell(0,10,'',0,2,'C');
$this->SetTextColor(100);
$this->Cell(0,12,''.$titre.'',0,2,'C');
$this->SetFont('Arial','',6);
$this->SetTextColor(0);
$this->Cell(0,2.5,'CONSEILS ET GESTION EN ASSURANCES',0,2,'C');
$this->Cell(0,2.5,'D\'ENTREPRISES ET DE PARTICULIERS',0,2,'C');
//Saut de ligne
$this->Ln(20);
//Décalage à droite
$this->Cell(115);
}
//Pied de page
function Footer()
{
//Positionnement du bas
$this->SetLeftMargin(10); //Marge gauche
$this->SetY(-5);
//Police Arial italique 8
$this->SetFont('Arial','',8);
$this->SetTextColor(100);
//Numéro de page
$this->Cell(0,5,''.$adresse.'',0,0,'C');
}
}
Merci de votre précieuse aide et bonne journée à tous
nautilus99
Messages postés661Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention18 septembre 20091 10 juil. 2009 à 14:32
Bonjour,
Dans ton fragment de code, les variables à utiliser sont extraites depuis le contexte global, mais tu les utilises dans une méthode de classe.
Dans ce cas, il existe 2 solutions: soit avoir une méthode pour initialiser ces varaibles en tant que variables d'instance de ta classe (méthode recommandée), soit d'accéder à te svariables dans le contexte global, via par exemple, $this->Cell(0,12,'' .$GLOBALS['titre'] . '',0,2,'C') ;
cs_sebalex
Messages postés150Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 6 janvier 2017 10 juil. 2009 à 14:36
En tout cas, merci pour ta réponse "ultra" rapide. Très sincèrement, je ne maîtrise pas suffisamment bien le PHP pour comprendre tes solutions qui me semblent être parfaites.
Oserai-je te demander de m'écrire un exemple sur la base de mon code ???
$this->Cell(0,2.5,'CONSEILS ET GESTION EN ASSURANCES',0,2,'C');
$this->Cell(0,2.5,'D\'ENTREPRISES ET DE PARTICULIERS',0,2,'C');
//Saut de ligne
$this->Ln(20);
//Décalage à droite
$this->Cell(115);
}
//Pied de page
function Footer()
{
//Positionnement du bas
$this->SetLeftMargin(10); //Marge gauche
$this->SetY(-5);
//Police Arial italique 8
$this->SetFont('Arial','',8);
$this->SetTextColor(100);
//Numéro de page
$this->Cell(0,5,''.$this->adresse.'',0,0,'C');
}
}
Ensuite, dans ton corps de script :
$row_societe = mysql_fetch_assoc($societe);
$logo = $row_societe['logo'];
$titre = $row_societe['titre'];
$adresse = $row_societe['adresse'];
$myreport = new PDF( $logo, $titre, $adresse ) ;
et tu continues à remplir ton document...
Attention, dans l'exemple, j'ai utilisé la syntaxe pour PHP 5. Si tu es resté sur l'archaique PHP 4 (maintenant non supporté par le PHP Group depuis le 8 août 2008), tu devras modifier un peu.