# PHP / FPDF Funktionen



## TsEnG (6. April 2005)

Hi,
undzwar habe ich ein Problem. Ich habe ein Script erstellt welches eine Mysql abfrage macht und daraus eine Tabelle in FPDF erstellt  auch alles soweit. Nun wollte ich das aber in Funktionen aufglieder damit ich in den bestimmten zellen andere Schriftfarben nehmen kann. Dazu brauche ich Funktionen laut Fpdf.org

Doch sobald ich die seite aufrufe sagt er mir:

Fatal error: Call to undefined function: tabueber()

Was is da am Quelltext falsch


```
<?php
require('pdf/fpdf.php');
class PDF extends FPDF
{
  function tabueber()
  {
    $this->Cell(20,5,"Datum",1,0,"C",0);
    $this->Cell(15,5,"Zeit",1,0,"C",0);
    $this->Cell(195,5,"Thema",1,0,"C",0);
    $this->Cell(45,5,"Ausbilder",1,1,"C",0);
  }

  function tab()
  {
    mysql_connect("localhost", "root", "") or die(mysql_error());
     mysql_select_db("fis") or die(mysql_error());
   $result = mysql_query("SELECT id, DATE_FORMAT(datum,'%d.%m.%y') as datum, TIME_FORMAT(zeit, '%H:%i') as zeit, thema, ausbilder FROM dienstplaene WHERE did=1");
    while($daten=mysql_fetch_array($result))
    {
      $this->Cell(20,5,$daten["datum"],1,0,"C",0);
      $this->Cell(15,5,$daten["zeit"],1,0,"C",0);
      $this->Cell(195,5,$daten["thema"],1,0,"L",0);
      $this->Cell(45,5,$daten["ausbilder"],1,1,"L",0);
    }
  }
}
$pdf=new FPDF();
$pdf->SetFont('Arial','B',12);
$pdf->AddPage();
$pdf->tabueber(0);
$pdf->tab(0);
$pdf->Output();
?>
```

Danke


----------



## Mathias Kuse (6. April 2005)

Hallo,
probiers mal so:
	
	
	



```
function tabueber($pdf)
  {
    $pdf->Cell(20,5,"Datum",1,0,"C",0);
    $pdf->Cell(15,5,"Zeit",1,0,"C",0);
    $pdf->Cell(195,5,"Thema",1,0,"C",0);
    $pdf->Cell(45,5,"Ausbilder",1,1,"C",0);
  }
```
tabueber() gehört meiner Meinung nach nicht in die Klasse PDF mit hinein. Leg die Funktion mal außerhalb der Klasse an und übergib ihr $pdf, also eine Instanz der Klasse.

MfG
Mathias


----------



## TraphiX (17. Oktober 2008)

Hallo, ich habe ein kleines Darstellungsproblem. Und zwar versuche ich via PHP ein PDF auszufüllen. Nun scheitert es leider am Zeichenabstand. Gibt es eine Möglichkeit, den Zeichenabstand zu bearbeiten?


LG und vielen Dank für die Bemühungen =)


----------



## kalle123456 (17. Oktober 2008)

TraphiX hat gesagt.:


> Hallo, ich habe ein kleines Darstellungsproblem. Und zwar versuche ich via PHP ein PDF auszufüllen. Nun scheitert es leider am Zeichenabstand. Gibt es eine Möglichkeit, den Zeichenabstand zu bearbeiten?
> 
> 
> LG und vielen Dank für die Bemühungen =)



welche Klasse benutzt du denn, um dein pdf zu erstellen?


----------



## TraphiX (20. Oktober 2008)

```
<?php
require_once('fpdf.php');
require_once('fpdi.php');

// initiate FPDI
$pdf =& new FPDI();
// add a page
$pdf->AddPage();
// set the sourcefile
$pdf->setSourceFile('TEST.pdf');
// import page 1
$tplIdx = $pdf->importPage(1);
// point 10,10 with a width of 200 mm
$pdf->useTemplate($tplIdx, 10, 10, 200);

// overwrite firstpage
$pdf->SetFont('Arial','',9);
$pdf->SetTextColor(0,0,0);
$pdf->SetXY(50, 71.5);
$pdf->Write(0, $_POST['lastname']);


$pdf->Output();

?>
```


So schauts bisher aus.


----------



## kalle123456 (20. Oktober 2008)

Schaue mal hier, ist ein Super Tutorial dazu.

Gruss


----------



## TraphiX (20. Oktober 2008)

Super, vielen Dank. Funktioniert wunderbar 

Gibt es eigtl eine Möglichkeit, die Eingabe in ein Textfeld in Versalien zu ändern? Super wäre, wenn ich in meinem PHP Script eine globale Funktion schreiben könnte, die alle ausgaben darauf anspricht.

vielen Dank!


----------



## kalle123456 (20. Oktober 2008)

TraphiX hat gesagt.:


> Gibt es eigtl eine Möglichkeit, die Eingabe in ein Textfeld in Versalien zu ändern? Super wäre, wenn ich in meinem PHP Script eine globale Funktion schreiben könnte, die alle ausgaben darauf anspricht.



Verstehe nicht ganz was du meinst? Meinst du den ersten Buchstaben gross, das geht mit "ucfirst($string)". Oder alle mit "strtoupper($string)"

Gruss


----------



## TraphiX (20. Oktober 2008)

Alle Zeichen sollten in Großbuchstaben dargestellt werden.

"strtoupper($string)" müsste ich ja für jede Ausgabe anwenden. Geht sowas nicht auch etwas globaler? Sodass ich vielleicht am Anfang meines Scripts eine Funktion einfüge, die alle Variablen "umformt"?


----------



## kalle123456 (20. Oktober 2008)

TraphiX hat gesagt.:


> Sodass ich vielleicht am Anfang meines Scripts eine Funktion einfüge, die alle Variablen "umformt"?



würde ich aber nicht machen, ist aber absolut global .



```
foreach($_GET as $_get_name => $_get_value) {
	    $_get[$_get_name]=strtoupper($_GET[$_get_name]);
}

foreach($_POST as $_post_name => $_post_value) {
  $_post[$_post_name]=strtoupper($_POST[$_post_name]);
}
```


----------

