PHP / FPDF Funktionen

TsEnG

Mitglied
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:
<?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
 
Hallo,
probiers mal so:
PHP:
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
 
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 =)
 
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?
 
PHP:
<?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.
 
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!
 
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
 
Zuletzt bearbeitet von einem Moderator:
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"?
 
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 :).


PHP:
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]);
}
 
Zurück