Erreur lors de la génération de pdf avec la classe fpdf
ananias8686
Messages postés
86
Date d'inscription
Statut
Membre
Dernière intervention
-
ananias8686 Messages postés 86 Date d'inscription Statut Membre Dernière intervention -
ananias8686 Messages postés 86 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous
J'essaie de générer un pdf avec fpdf.
J'obtiens cette erreur :
Fichier pdf_mc_table.php bien inclus
Mon code
Je ne sais pas si ma classe est bien construite
Pourriez-vous m'expliquer la démarche pour faire fonctionner mon code
Merci d'avance pour votre aide
J'essaie de générer un pdf avec fpdf.
J'obtiens cette erreur :
PHP Parse error: syntax error, unexpected 'include' (T_INCLUDE), expecting function (T_FUNCTION) or const (T_CONST) in /home/site/public_html/fpdf/a/ex2.php on line 5
Fichier pdf_mc_table.php bien inclus
Mon code
<?php require('fpdf.php'); //create new class extending fpdf class class PDF_MC_Table extends FPDF { include('pdf_mc_table.php'); // Connect to database $link = mysqli_connect('localhost','test','test','test'); //make new object $pdf = new PDF_MC_Table(); $pdf->AddPage(); $pdf->Table($link,'SELECT date,details,sender,content,amount,check_status FROM int_transfer WHERE user_id = 142 UNION SELECT date,details,sender,content,amount,check_status FROM tran_acct WHERE user_id = 142 UNION SELECT date,details,sender,content,amount,check_status FROM int_transfer_admin WHERE user_id = 142 ORDER BY date DESC'); $pdf->SetFont('Arial','',14); $pdf->SetWidths(Array(20,40,40,30,20,40)); //set line height. This is the height of each lines, not rows. $pdf->SetLineHeight(5); //set alignment $pdf->SetAligns(Array('','R','C','','','')); //add table heading using standard cells //set font to bold $pdf->SetFont('Arial','B',14); $pdf->Cell(20,5,"Date",1,0); $pdf->Cell(40,5,"Description",1,0); $pdf->Cell(40,5,"Beneficiary",1,0); $pdf->Cell(30,5,"Details",1,0); $pdf->Cell(20,5,"Amount",1,0); $pdf->Cell(40,5,"Status",1,0); //add a new line $pdf->Ln(); //reset font $pdf->SetFont('Arial','',14); //loop the data foreach($data as $item){ //write data using Row() method containing array of values. $pdf->Row(Array( $item['date'], $item['details'], $item['sender'], $item['content'], $item['amount'], $item['check_status'], )); } $pdf->Output(); } ?>
Je ne sais pas si ma classe est bien construite
Pourriez-vous m'expliquer la démarche pour faire fonctionner mon code
Merci d'avance pour votre aide
A voir également:
- Pdf_mc_table
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Notice de montage pdf - Guide
- Code de la route pdf - Télécharger - Transports & Cartes
- Save as pdf office 2007 - Télécharger - Bureautique
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
2 réponses
Bonjour
Deplace ton include avant le début de ta class ou sinon mets le dans une fonction . Mais en tout cas tu ne peux pas le laisser là..
Deplace ton include avant le début de ta class ou sinon mets le dans une fonction . Mais en tout cas tu ne peux pas le laisser là..
Je vous remercie pour votre suggestion, J ai fais sortir l include vers le haut mais ça fais de même, apparemment la classe refuse toute mes variables
Je me demande si je dois mettre tout le corps de la classe dans une fonction puisque j ai fermer sa balise a la dernière ligne. Je vais essayer et vous faire un retour
PHP Parse error: syntax error, unexpected '$link' (T_VARIABLE), expecting function (T_FUNCTION) or const (T_CONST) in /home/site/public_html/fpdf/a/ex2.php on line 7
Je me demande si je dois mettre tout le corps de la classe dans une fonction puisque j ai fermer sa balise a la dernière ligne. Je vais essayer et vous faire un retour
Voici mon nouveau code qui fonctionne parfaitement sauf que la disposition des données n est pas bien faite.

<?php require('mysql_table.php'); class PDF extends PDF_MySQL_Table { protected $ProcessingTable=false; protected $aCols=array(); protected $TableX; protected $HeaderColor; protected $RowColors; protected $ColorIndex; function Header() { // Print the table header if necessary //if($this->ProcessingTable) // $this->TableHeader(); // Title $this->SetFont('Arial','',14); // Logo $this->Image('logo.png',160,15,30); // Saut de ligne $this->Ln(10); $this->y0 = $this->GetY(); // Ensure table header is printed parent::Header(); } function TableHeader() { $this->SetFont('Arial','B',12); $this->SetX($this->TableX); $fill=!empty($this->HeaderColor); if($fill) $this->SetFillColor($this->HeaderColor[0],$this->HeaderColor[1],$this->HeaderColor[2]); foreach($this->aCols as $col) $this->Cell($col['w'],6,$col['c'],1,0,'C',$fill); $this->Ln(); } function Row($data) { $this->SetX($this->TableX); $ci=$this->ColorIndex; $fill=!empty($this->RowColors[$ci]); if($fill) $this->SetFillColor($this->RowColors[$ci][0],$this->RowColors[$ci][1],$this->RowColors[$ci][2]); foreach($this->aCols as $col) $this->Cell($col['w'],5,$data[$col['f']],1,0,$col['a'],$fill); $this->Ln(); $this->ColorIndex=1-$ci; } function CalcWidths($width, $align) { // Compute the widths of the columns $TableWidth=0; foreach($this->aCols as $i=>$col) { $w=$col['w']; if($w==-1) $w=$width/count($this->aCols); elseif(substr($w,-1)=='%') $w=$w/100*$width; $this->aCols[$i]['w']=$w; $TableWidth+=$w; } // Compute the abscissa of the table if($align=='C') $this->TableX=max(($this->w-$TableWidth)/2,0); elseif($align=='R') $this->TableX=max($this->w-$this->rMargin-$TableWidth,0); else $this->TableX=$this->lMargin; } function AddCol($field=-1, $width=-1, $caption='', $align='L') { // Add a column to the table if($field==-1) $field=count($this->aCols); $this->aCols[]=array('f'=>$field,'c'=>$caption,'w'=>$width,'a'=>$align); } function Table($link, $query, $prop=array()) { // Execute query $res=mysqli_query($link,$query) or die('Error: '.mysqli_error($link)."<br>Query: $query"); // Add all columns if none was specified if(count($this->aCols)==0) { $nb=mysqli_num_fields($res); for($i=0;$i<$nb;$i++) $this->AddCol(); } // Retrieve column names when not specified foreach($this->aCols as $i=>$col) { if($col['c']=='') { if(is_string($col['f'])) $this->aCols[$i]['c']=ucfirst($col['f']); else $this->aCols[$i]['c']=ucfirst(mysqli_fetch_field_direct($res,$col['f'])->name); } } // Handle properties if(!isset($prop['width'])) $prop['width']=0; if($prop['width']==0) $prop['width']=$this->w-$this->lMargin-$this->rMargin; if(!isset($prop['align'])) $prop['align']='C'; if(!isset($prop['padding'])) $prop['padding']=$this->cMargin; $cMargin=$this->cMargin; $this->cMargin=$prop['padding']; if(!isset($prop['HeaderColor'])) $prop['HeaderColor']=array(); $this->HeaderColor=$prop['HeaderColor']; if(!isset($prop['color1'])) $prop['color1']=array(); if(!isset($prop['color2'])) $prop['color2']=array(); $this->RowColors=array($prop['color1'],$prop['color2']); // Compute column widths $this->CalcWidths($prop['width'],$prop['align']); // Print header $this->TableHeader(); // Print rows $this->SetFont('Arial','',11); $this->ColorIndex=0; $this->ProcessingTable=true; while($row=mysqli_fetch_array($res)) $this->Row($row); $this->ProcessingTable=false; $this->cMargin=$cMargin; $this->aCols=array(); } } // Connect to database $link = mysqli_connect('localhost','test','test_','test'); $pdf = new PDF(); $pdf->AddPage(); // First table: output all columns $pdf->Table($link,'SELECT date,details,sender,content,amount,check_status FROM int_transfer WHERE user_id = 142 UNION SELECT date,details,sender,content,amount,check_status FROM tran_acct WHERE user_id = 142 UNION SELECT date,details,sender,content,amount,check_status FROM int_transfer_admin WHERE user_id = 142 ORDER BY date DESC'); $pdf->AddPage(); // Second table: specify 3 columns $pdf->AddCol('date',25,'','C'); $pdf->AddCol('details',20,'Type'); $pdf->AddCol('sender',30,'Beneficiary','R'); $pdf->AddCol('content',60,'Details ','C'); $pdf->AddCol('amount',20,'Amount'); $pdf->AddCol('check_status',30,'Status','C'); $prop = array('HeaderColor'=>array(255,150,100), 'color1'=>array(210,245,255), 'color2'=>array(255,255,210), 'padding'=>2); $pdf->Table($link,'SELECT date,details,sender,content,amount,check_status FROM int_transfer WHERE user_id = 142 UNION SELECT date,details,sender,content,amount,check_status FROM tran_acct WHERE user_id = 142 UNION SELECT date,details,sender,content,amount,check_status FROM int_transfer_admin WHERE user_id = 142 ORDER BY date DESC',$prop); $pdf->Output(); ?>
