php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 11.01.2005, 20:15  
Gast
 
Beiträge: n/a
Standard Abstatz mit MultiCell Fpdf

Hallo zusammen,

ich habe ein kleines Problem mit Multicell von Fpdf.
Die Ausgabe wird immer in eine neue Zeile geschrieben, wieso.

Ich lese die Daten aus der TEXT DB-Api aus.
Mit Cell geht es super. Aber wenn ich die Variable "Beschreibung" mit Multicell mache, ist die Variable Treffpunkt in eine neuen Zeile.

Keine Ahnung wieso

Hier mal der Code:

Code:
define('FPDF_FONTPATH','font/');
require('xxx/mkauer/fpdf/fpdf.php');
include( "x/api/txt-db-api.php");


$currentYear = $_GET['year'];

$db = new Database("mkauer");

	$result = $db->executeQuery("SELECT * FROM termine 
                                 WHERE Datumzeitvon LIKE '".$currentYear."%' AND Gruppentyp=0
                                 ORDER BY Datumzeitvon, DESC"); 
							 
class PDF extends FPDF
{
function Header()
{
    global $title;
   //Arial bold 11
    $this->SetFont('Arial','B',11);
    //Move to the right
    $this->Cell(80);
    //Title
    $this->Cell(30,10,$title,0,0,'C');
    //Line break
    $this->Ln(10);
}
}

								
$pdf = new PDF('P','mm','A4'); 
	$title = "Terminkalender der MK Auer ".$currentYear;
	$pdf->SetTitle($title);

    $pdf->AddPage(); 
    $pdf->SetFillColor(230,230,230);
  	$pdf->SetFont('Arial','',6); 

    $pdf->Cell(5,5, 'TG',1,'','',1);
    $pdf->Cell(15,5, 'Datum',1,'','',1);
    $pdf->Cell(15,5, 'Uhrzeit',1,'','',1);
    $pdf->Cell(95,5, 'Terminbeschreibung',1,'','',1);  
    $pdf->Cell(18,5, 'Treffpunkt',1,'','',1);	
    $pdf->Cell(10,5, 'Uhrzeit',1,'','R',1);
    $pdf->Ln(); 
	

   $monatVorher = 0;
   while($result->next()) { 
     $termin = $result->getCurrentValuesAsHash(); 
 
     /*Anzeige*/
 	  $jahrvon = substr($termin['Datumzeitvon'], 0, 4); 
      $monatvon = substr($termin['Datumzeitvon'], 4, 2); 
      $tagvon = substr($termin['Datumzeitvon'], 6, 2); 
      $stundevon = substr($termin['Datumzeitvon'], 8, 2); 
      $minutevon = substr($termin['Datumzeitvon'], 10, 2);
	  
	  $jahrbis = substr($termin['Datumzeitbis'], 0, 4); 
      $monatbis = substr($termin['Datumzeitbis'], 4, 2); 
      $tagbis = substr($termin['Datumzeitbis'], 6, 2); 
      $stundebis = substr($termin['Datumzeitbis'], 8, 2); 
      $minutebis = substr($termin['Datumzeitbis'], 10, 2); 
	  
	  $treffstunde = substr($termin['Treffzeit'], 0, 2); 
      $treffminute = substr($termin['Treffzeit'], 2, 2); 
 
if ($monatVorher <> $monatvon) { //wenn neuer monat ist
  //Leerzeile bei Monatwechsel
   $pdf->Cell(10,3, '' ,1); 
   $pdf->Ln(3); 

   $monat = date("m", mktime(0,0,0,$monatvon,$tagvon,$jahrvon));
	  switch ($monat) {
		case "01":
 			$pdf->Cell(20,3, re_htmlentities('Januar'),1); 
			break;
		case "02":
	 		$pdf->Cell(20,3, re_htmlentities('Februar'),1); 
			break;
		case "03":
	 		$pdf->Cell(20,3, re_htmlentities('M&auml;rz'),1); 
			break;
		case "04":
	 		$pdf->Cell(20,3, re_htmlentities('April'),1); 
			break;
		case "05":
	 		$pdf->Cell(20,3, re_htmlentities('Mai'),1); 
			break;
		case "06":
	 		$pdf->Cell(20,3, re_htmlentities('Juni'),1); 
			break;
		case "07":
	 		$pdf->Cell(20,3, re_htmlentities('Juli'),1); 
			break;
		case "08":
  	 		$pdf->Cell(20,3, re_htmlentities('August'),1); 
			break;
		case "09":
	 		$pdf->Cell(20,3, re_htmlentities('September'),1); 
			break;
		case "10":
	 		$pdf->Cell(20,3, re_htmlentities('Oktober'),1); 
			break;
		case "11":
 	 		$pdf->Cell(20,3, re_htmlentities('November'),1); 
			break;
		case "12":
	 		$pdf->Cell(20,3, re_htmlentities('Dezember'),1); 
			break;
		}
    $pdf->Ln(3); 
	
	  $monatVorher = $monatvon;
	  }

	  
//Beginn mit der Ausgabe
//Datum ausgeben

if(empty($jahrbis) or empty($monatbis) or empty($tagbis)) {
	$wotag = date ("w", mktime(0,0,0,$monatvon,$tagvon,$jahrvon));
	switch ($wotag) {
    		case 0:
				$pdf->Cell(5,3, 'So.',1); 
        		break;
    		case 1:
				$pdf->Cell(5,3, 'Mo.',1); 
        		break;
    		case 2:
				$pdf->Cell(5,3, 'Di.',1); 
        		break;
    		case 3:
 				$pdf->Cell(5,3, 'Mi.',1); 
           		break;
    		case 4:
				$pdf->Cell(5,3, 'Do.',1); 
        		break;
    		case 5:
				$pdf->Cell(5,3, 'Fr.',1); 
           		break;
    		case 6:
				$pdf->Cell(5,3, 'Sa.',1); 
        		break;
		}
	$pdf->Cell(15,3, $tagvon.".".$monatvon ,1); 
	} else {  // wenn ein Datumbis gesetzt ist
	$wotag = date ("w", mktime(0,0,0,$monatvon,$tagvon,$jahrvon));
	switch ($wotag) {
    		case 0:
				$pdf->Cell(5,3, 'So.',1); 
        		break;
    		case 1:
				$pdf->Cell(5,3, 'Mo.',1); 
        		break;
    		case 2:
				$pdf->Cell(5,3, 'Di.',1); 
        		break;
    		case 3:
 				$pdf->Cell(5,3, 'Mi.',1); 
           		break;
    		case 4:
				$pdf->Cell(5,3, 'Do.',1); 
        		break;
    		case 5:
				$pdf->Cell(5,3, 'Fr.',1); 
           		break;
    		case 6:
				$pdf->Cell(5,3, 'Sa.',1); 
        		break;
		}
		$pdf->Cell(15,3, $tagvon.".".$monatvon." - ".$tagbis.".".$monatbis ,1); 
}	



	 //Zeitspezial und Zeit ausgeben

if(!empty($termin['Zeitspezial'])) {
		$pdf->Cell(15,3, $termin['Zeitspezial'],1); 
		 }
		 elseif ($stundevon == "00") {  //wenn keine Uhrzeit angegeben wird
   		$pdf->Cell(15,3, '',1); 

		 } else {
			if(empty($stundebis) or empty($minutebis)) { //Abfrage wenn Zeit von bis gesetzt ist
		 $pdf->Cell(15,3, $stundevon.":".$minutevon ,1,0); 

		  } else {
	  	 $pdf->Cell(15,3, $stundevon.":".$minutevon." - " ,1); 
 		 $pdf->Cell(15,3, $stundebis.":".$minutebis ,1); 
	     }
}
  
	  //Terminbeschreibung	  
     $pdf->MultiCell(95,3, re_htmlentities($termin['Beschreibung'])); 
	
  	  //Treffpunkt	 
     
     $pdf->MultiCell(18,3, re_htmlentities($termin['Treffpunkt']),'',2,'R'); 
	
      //Treffzeit
	 
	  if (empty($termin['Treffzeit'])) {	  
 	 $pdf->MultiCell(10,3,'',1,'','R'); 
		  } else {
     $pdf->MultiCell(10,3, $treffstunde.":".$treffminute ,'',9,'R'); 
      }

  $pdf->Ln(); 
}  //ende while  

      
  $pdf->Output();

Danke im Voraus
mfg
Dieter
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 12.01.2005, 10:50  
Erfahrener Benutzer
 
Registriert seit: 17.08.2004
Beiträge: 213
carrib befindet sich auf einem aufstrebenden Ast
Standard

Hi,

Du kannst die aktuelle Position mittels SetX() und SetY() bzw. SetXY() definieren und mittels GetX() und GetY() ermitteln.

Somit kannst vor dem Aufruf von MultiCell() die aktuelle Position ermitteln und danach wieder, unter Berücksichtigung der Breite der Zelle zur neuen Ausgangsposition neben der Zelle springen.

Code:
$position_x   = $pdf->GetX();
$position_y   = $pdf->GetY();
$breite_zelle = 10;

$pdf->MultiCell($breite_zelle,3, $treffstunde.":".$treffminute ,'',9,'R'); 

$pdf->SetXY(($position_x + $breite_zelle), $position_y);
carrib ist offline  
Alt 12.01.2005, 13:51  
Gast
 
Beiträge: n/a
Standard

Hallo,

danke für die Antwort. Ich habe anders gelöst.

mfg
Dieter
 
Alt 12.01.2005, 13:54  
Erfahrener Benutzer
 
Registriert seit: 18.09.2003
Beiträge: 13.598
PHP-Kenntnisse:
Fortgeschritten
imported_Ben ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sag doch bitte wie .. dann kann man diesen thread auch noch verwenden, um auf ihn zu verweisen.
danke dir.

grüße ben ...
imported_Ben ist offline  
Alt 12.01.2005, 14:09  
Gast
 
Beiträge: n/a
Standard

hallo Ben

ich habe es nur mit Cell gemacht.

Beim Eingabeformular, also input Feld, habe ich maxlenght auf einem bestimmten Wert gesetzt und geschaut das der Inhalt im PDF Dokument nicht über die Grenzen hinausschreibt.

mfg
Dieter
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
FPDF: Frage zu Multicell bp158 PHP Tipps 2008 0 15.10.2007 10:14
Fatal error: Cannot use object of type FPDF as array in Alpha Centauri PHP Tipps 2006 5 22.03.2006 14:44
FPDF => FProblema bei HTML/PHP Ausgabe PHP Tipps 2006 3 14.03.2006 19:13
[gelöst] FPDF error: Some data has already been output... PHP Tipps 2005-2 4 27.10.2005 22:16
FPDF error: Could not include font definition file madSoul PHP Tipps 2005-2 0 13.09.2005 15:13
ausgeführte .php datei mit fpdf, soll sich selbst per mail v djrace PHP Tipps 2005-2 11 06.08.2005 14:45
FPDF: Zeilenabstand in MultiCell PHP Tipps 2005-2 2 10.06.2005 18:51
Zahlen im Richtigen Format ausgeben unter fpdf! Boennchen PHP Tipps 2005 2 30.05.2005 14:59
fpdf - Problem Boennchen PHP Tipps 2005 2 28.04.2005 19:37
(f)PDF: Internetexplorer streikt PHP Tipps 2005 11 09.04.2005 22:03
Formular mit fpdf erzeugen! Boennchen PHP Tipps 2005 4 01.02.2005 11:59
Dokumentenschutz mit fpdf! Boennchen PHP Tipps 2005 2 31.01.2005 07:44
fpdf mgoertz PHP-Fortgeschrittene 4 29.11.2004 09:26
FPDF + Apache PHP-Fortgeschrittene 9 07.11.2004 18:56
[Erledigt] fpdf, Fehlermeldung warum? PHP Tipps 2004 4 21.08.2004 11:24

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
fpdf multicell positionieren, fpdf multicell linebreak, fpdf multicell position, fpdf multicell, tcpdf multicell line break, fpdf multicell bold, fpdf cell position, fpdf newline, fpdf new line, fpdf cell line break, fpdf multicell line break, fpdf leerzeile, multicell fpdf, fpdf multicell beispiel, fpdf cell break, fpdf uhrzeit, multicell position, fpdf cell linebreak, fpdf multicell new line, fpdf line break multicell

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:55 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.