par
jojolapine » 25 mai 2011, 21:03
Bonjour,
Le message d'erreur indique que tu essayes d'utiliser $pdf comme un objet alors qu'il ne l'est pas...
En fait $pdf n'existe même pas dans ta fonction crer_case()...
Pour celà il faudrait lui passer en paramètre...
Mais ensuite il faudrait également que ton instance de FPDF puisse récupérer les modifications faites...
Du coup le plus simple c'est de créer une méthode à l’intérieur de ta classe PDF, et de l'appeler comme ceci:
$pdf->creer_case(200,150,5);
Essayes de t'inspirer des exemples sur fpdf.org, par exemple :
http://www.fpdf.org/en/tutorial/tuto3.htm
Et N'hésite pas à indenter ton code, sinon il est complètement illisible!
<?php
include("config_cra.php");
$annee_s = "2011";
$semaine_s = "08";
$requete_cra = mysql_query("select * from calendrier_".$annee_s." where semaine='".$semaine_s."'");
while($ligne = mysql_fetch_array($requete_cra)){
extract($ligne);
}
define('FPDF_FONTPATH','./font/');
require('fpdf.php');
class PDF extends FPDF
{
function Header() {}
function Footer(){
$this->SetY(-15);
$this->SetFont('Arial','I',8);
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
function creer_case($x,$y,$n) {
$this->Line($x,$y,$x,$y-3);
$this->Line($x,$y,$x+(4*$n),$y);
for($i=1;$i<$n;$i++) {
$this->Line($x+(4*$i),$y,$x+(4*$i),$y-3);
}
$this->Line($x+(4*$n),$y,$x+(4*$n),$y-3);
}
}
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage('L','A3');
$pdf->Image('./image/apave.png',10,7,35,14,'','');
$pdf->SetXY(85,18);
$pdf->SetFont('arial','',15);
$pdf->Cell(90,10,'COMPTE-RENDU D ACTIVITE',1,0,'C');
$pdf->SetXY(10,30);
$pdf->SetFont('arial','',10);
$pdf->Cell(40,10,'FEUILLET N° de',0,0,'C');
$pdf->Line(36,33.5,36,36.5);
$pdf->Line(36,36.5,40,36.5);
$pdf->Line(40,33.5,40,36.5);
$pdf->Line(51,33.5,51,36.5);
$pdf->Line(51,36.5,55,36.5);
$pdf->Line(55,33.5,55,36.5);
$pdf->SetXY(320,25);
$pdf->SetFont('arial','',10);
$pdf->Cell(30,5,'ANNEE',0,0,'L');
$pdf->Line(338,25.5,338,28.5);
$pdf->Line(338,28.5,346,28.5);
$pdf->Line(346,25.5,346,28.5);
$pdf->Line(342,25.5,342,28.5);
$pdf->Cell(25,5,'MOIS',0,0,'L');
$pdf->Line(365,25.5,365,28.5);
$pdf->Line(365,28.5,373,28.5);
$pdf->Line(373,25.5,373,28.5);
$pdf->Line(369,25.5,369,28.5);
$pdf->Cell(25,5,'SEMAINE',0,0,'L');
$pdf->Line(396,25.5,396,28.5);
$pdf->Line(396,28.5,404,28.5);
$pdf->Line(400,25.5,400,28.5);
$pdf->Line(404,25.5,404,28.5);
$pdf->creer_case(200,150,5);
$pdf->Output();
Bonjour,
Le message d'erreur indique que tu essayes d'utiliser $pdf comme un objet alors qu'il ne l'est pas...
En fait $pdf n'existe même pas dans ta fonction crer_case()...
Pour celà il faudrait lui passer en paramètre...
Mais ensuite il faudrait également que ton instance de FPDF puisse récupérer les modifications faites...
Du coup le plus simple c'est de créer une méthode à l’intérieur de ta classe PDF, et de l'appeler comme ceci:
[b]$pdf->creer_case(200,150,5);[/b]
Essayes de t'inspirer des exemples sur fpdf.org, par exemple : http://www.fpdf.org/en/tutorial/tuto3.htm
Et N'hésite pas à indenter ton code, sinon il est complètement illisible!
[php]<?php
include("config_cra.php");
$annee_s = "2011";
$semaine_s = "08";
$requete_cra = mysql_query("select * from calendrier_".$annee_s." where semaine='".$semaine_s."'");
while($ligne = mysql_fetch_array($requete_cra)){
extract($ligne);
}
define('FPDF_FONTPATH','./font/');
require('fpdf.php');
class PDF extends FPDF
{
function Header() {}
function Footer(){
$this->SetY(-15);
$this->SetFont('Arial','I',8);
$this->Cell(0,10,'Page '.$this->PageNo().'/{nb}',0,0,'C');
}
function creer_case($x,$y,$n) {
$this->Line($x,$y,$x,$y-3);
$this->Line($x,$y,$x+(4*$n),$y);
for($i=1;$i<$n;$i++) {
$this->Line($x+(4*$i),$y,$x+(4*$i),$y-3);
}
$this->Line($x+(4*$n),$y,$x+(4*$n),$y-3);
}
}
$pdf=new PDF();
$pdf->AliasNbPages();
$pdf->AddPage('L','A3');
$pdf->Image('./image/apave.png',10,7,35,14,'','');
$pdf->SetXY(85,18);
$pdf->SetFont('arial','',15);
$pdf->Cell(90,10,'COMPTE-RENDU D ACTIVITE',1,0,'C');
$pdf->SetXY(10,30);
$pdf->SetFont('arial','',10);
$pdf->Cell(40,10,'FEUILLET N° de',0,0,'C');
$pdf->Line(36,33.5,36,36.5);
$pdf->Line(36,36.5,40,36.5);
$pdf->Line(40,33.5,40,36.5);
$pdf->Line(51,33.5,51,36.5);
$pdf->Line(51,36.5,55,36.5);
$pdf->Line(55,33.5,55,36.5);
$pdf->SetXY(320,25);
$pdf->SetFont('arial','',10);
$pdf->Cell(30,5,'ANNEE',0,0,'L');
$pdf->Line(338,25.5,338,28.5);
$pdf->Line(338,28.5,346,28.5);
$pdf->Line(346,25.5,346,28.5);
$pdf->Line(342,25.5,342,28.5);
$pdf->Cell(25,5,'MOIS',0,0,'L');
$pdf->Line(365,25.5,365,28.5);
$pdf->Line(365,28.5,373,28.5);
$pdf->Line(373,25.5,373,28.5);
$pdf->Line(369,25.5,369,28.5);
$pdf->Cell(25,5,'SEMAINE',0,0,'L');
$pdf->Line(396,25.5,396,28.5);
$pdf->Line(396,28.5,404,28.5);
$pdf->Line(400,25.5,400,28.5);
$pdf->Line(404,25.5,404,28.5);
$pdf->creer_case(200,150,5);
$pdf->Output();
[/php]