Werte an Header übergeben

Diskussionen und Austausch über die von FPDF bereitgestellten Methoden, Problemen bei der Anwendung etc.
Zettmaster
Benutzer
Beiträge: 2
Registriert: Mo 23. Apr 2018, 22:32

Werte an Header übergeben

Beitragvon Zettmaster » Mo 23. Apr 2018, 22:49

Hallo zusammen, mein erster Post, ich hoffe hier finde ich ein wenig Hilfe.

Hier mein Problem. Ich bekomme für eine Klasse eine Methode mit einem Wert übergeben. Leider steht dieser Wert dann nicht im gesamten Skript zur Verfügung. Zur Verdeutlichung hier der Code mit den Kommentaren. Es wird eine Artikelliste ausgegeben und im Header soll die NR dieser angezeigt werden. Die Funktion erstellen($listennr) die zur Klasse artikkelliste gehört startet das Skript und stellt den Wert zur Verfügung. Bei der Funktion Header() die die FPDF Klasse stellt kommen keinerlei Variablen an. Wie geht das zu lösen?

Code: Alles auswählen

<?php  require_once('/home/www/faktura/fpdf/fpdf.php');
 
class artikelliste extends fpdf
{   
    public $listennr;               //hier könnte der Wert ankommen

     function __construct() {
      
parent::__construct("P", "mm", "A4");

                                               //oder auch hier um diesen abzugreifen
$this->datum = date("d.m.Y");
$this->SetDisplayMode(100);     
$this->AddPage();
                             }   
   
     function Header() {
    
$this->SetFont('Times','',14);
$this->Cell(140,5,'                           ARTIKELLISTE',0,0, 'C'); $this->Cell(20,5,'Datum:',0,0,'R'); $this->Cell(30,5,$this->datum,0,1,'C');
$this->Cell(140,5,'                                       ',0,0, 'C'); $this->Cell(20,5,'Seite:',0,0,'R'); $this->Cell(30,5,$this->PageNo().' von {nb}',0,1,'R');
$this->Cell(140,5,'                                       ',0,0, 'C'); $this->Cell(20,5,'Liste:',0,0,'R'); $this->Cell(30,5,$this->listennr,0,1,'C');  //hier soll der Wert  hin
$this->Cell(25,5,'Name',0,0,'');$this->Cell(20,5,'Menge',0,0,'C');     $this->Cell(60,5,'Bezeichnung',0,1,'R');
$this->Text(10,32,'--------------------------------------------------------------------------------------------------------------------');

$this->Ln(5);

                       }
       
     function Footer() {
   
    $this->SetY(-15);
    $this->SetFont('Times','',14);
    $this->Cell(0,10,'Seite '.$this->PageNo().'/{nb}',0,0,'C');
   
                       }
       
     function erstellen($listennr) { //wie bekomme ich den übergebenen Wert $listennr in den Header() der FPDF Klasse?
    
$pdf = new artikelliste();
$pdf->AliasNbPages();
$pdf->SetFont('Times','',14);
for($i=1;$i<=40;$i++)
$pdf->Cell(0,10,'Testzeile '.$i.'  Listennummer: '.$listennr,0,1); //hier wird der Wert aber angezeigt
$pdf->Output('test.pdf', 'I');

                                   }
}
?>





Liebe Grüße

Zettmaster
Benutzer
Beiträge: 2
Registriert: Mo 23. Apr 2018, 22:32

Re: Werte an Header übergeben (gelöst)

Beitragvon Zettmaster » Mi 25. Apr 2018, 22:45

Hier des Rätsels Lösung ;-)

Das war natürlich gar nicht so schwer und reicht mir vollkommen aus.

Code: Alles auswählen


<?php  require_once('/home/www/faktura/fpdf/fpdf.php');

//globale Variablen ausserhalb der Klasse nutzen
 $title="Artikelliste";
 $datum=date("d.m.Y");

class artikelliste extends fpdf
{   
      
     public function __construct() {
      
parent::__construct("P", "mm", "A4");

$this->SetDisplayMode(100);     
$this->AddPage();

                                                          }   
   
     public function Header() {
global $title; // und hier wieder abfangen
global $liste;
global $datum;
$this->SetFont('Times','',14);
$this->Cell(140,5,                               $title,0,0, 'C');       $this->Cell(20,5,'Datum:',0,0,'R'); $this->Cell(30,5,$datum,0,1,'C');
$this->Cell(140,5,'                                       ',0,0, 'C'); $this->Cell(20,5,'Seite:',0,0,'R'); $this->Cell(30,5,$this->PageNo().' von {nb}',0,1,'R');
$this->Cell(140,5,'                                       ',0,0, 'C'); $this->Cell(20,5,'Liste:',0,0,'R'); $this->Cell(30,5,$liste,0,1,'C');
$this->Cell(25,5,'Name',0,0,'');$this->Cell(20,5,'Menge',0,0,'C');     $this->Cell(60,5,'Bezeichnung',0,1,'R');
$this->Text(10,32,'--------------------------------------------------------------------------------------------------------------------');

$this->Ln(5);

                       }
       
     public function Footer() {
   
    $this->SetY(-15);
    $this->SetFont('Times','',14);
    $this->Cell(0,10,'Seite '.$this->PageNo().'/{nb}',0,0,'C');
   
                       }
       

function erstellen($listennr){

global $liste;         // global bereitstellen
$liste = $listennr; // Variable abfangen

global $title;
global $datum;
$pdf = new artikelliste();

$pdf->AliasNbPages();
$pdf->SetFont('Times','',14);
for($i=1;$i<=40;$i++)
$pdf->Cell(0,10,'Testzeile '.$i.'  Listennummer: '.$listennr. '     ' .$title.'                '  .$datum,0,1);
$pdf->Output('test.pdf', 'I');
}}
?>


Zurück zu „Programmierung“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast