[GastForen Programmierung/Entwicklung PHP und MySQL Email via PHP - Format einer Tabelle

  • Suche
  • Hilfe
  • Lesezeichen
  • Benutzerliste
Themen
Beiträge
Moderatoren
Letzter Beitrag

Email via PHP - Format einer Tabelle

Catzenjaeger
Beiträge gesamt: 23

26. Mär 2011, 20:10
Beitrag # 1 von 7
Bewertung:
(3631 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo kleines Problem - ich habe eine Tabelle die ich gerne via PHP als HTML mail verschicken will - das geht auch alles ohne Probleme - Nur wenn ich der Tabelle jetzt sage - wenn der Wert unter 50 ist mache mir das Feld rot - geht das nicht - Irgendwo habe ich ein Denkfehler drin. Die Gänsefüsschen habe ich schon zig mal geändert aber trotzdem gehts nicht - kann jemand helfen?

Hier ein Auszug aus dem Mailcode ganz unten ist das was ich meine

Code
$mailtext = " 

<table border='1' align='center' width='95%'>

<h3>Statistik für: $PF3 , $PF4 </h3></center>


<tr><td>Überschrift</td>
<td>$summe1</td>
<td>$summe2</td>
<td>$summeZ1S3</td>
<td><?php if ($summeZ1S4 <= 49) { echo "<td bgcolor='#FF0000'><font face='Verdana' size='2'>$summeZ1S4</font></td>";}
elseif ($summeZ1S4 <=80 ) { echo "<td bgcolor='#FFFF00'><font face='Verdana' size='2'>$summeZ1S4</font></td>";}
elseif ($summeZ1S4 >80) { echo "<td bgcolor='#008000'><font face='Verdana' size='2'>$summeZ1S4</font></td>";}?></td></tr>

X

Email via PHP - Format einer Tabelle

Tömsken
Beiträge gesamt: 720

31. Mär 2011, 20:14
Beitrag # 2 von 7
Beitrag ID: #468128
Bewertung:
(3561 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Das <?php... gehört da nicht hin.
Aber so sollte es klappen:
Code
<?php 
$mailtext = "
<table border='1' align='center' width='95%'>
<h3>Statistik für: $PF3 , $PF4 </h3></center>
<tr><td>Überschrift</td>
<td>$summe1</td>
<td>$summe2</td>
<td>$summeZ1S3</td>
<td>";

if ($summeZ1S4 <= 49) { $mailtext .= "<td bgcolor='#FF0000'><font face='Verdana' size='2'>$summeZ1S4</font></td>"; }
elseif ($summeZ1S4 <=80 ) { $mailtext .= "<td bgcolor='#FFFF00'><font face='Verdana' size='2'>$summeZ1S4</font></td>"; }
elseif ($summeZ1S4 >80) { $mailtext .= "<td bgcolor='#008000'><font face='Verdana' size='2'>$summeZ1S4</font></td>"; }

$mailtext = "</td></tr>";

?>


bb Tom

P.S.
"Font"-Tags sind im Jahr 2011 "pfui"... ;)


als Antwort auf: [#467762]

Email via PHP - Format einer Tabelle

Catzenjaeger
Beiträge gesamt: 23

31. Mär 2011, 20:38
Beitrag # 3 von 7
Beitrag ID: #468131
Bewertung:
(3556 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
cool vielen leiben dank das probiere ich morgen :)

hmnn wie ist dein PS zu verstehen? :)
Zitat "Font"-Tags sind im Jahr 2011 "pfui"... ;)



als Antwort auf: [#468128]

Email via PHP - Format einer Tabelle

Catzenjaeger
Beiträge gesamt: 23

1. Apr 2011, 09:18
Beitrag # 4 von 7
Beitrag ID: #468158
Bewertung:
(3531 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo habe das entsprechend eingebaut aber es funktioniert nicht die tabelle ist total zerschossen und wird nur noch als text dargestellt

hier ein codefrakment (da sind noch mehr tabellen drinn ist nur der teil wo ich geändert habe unten und obendrüber streht noch mehr und es sind 10 spalten wo diese bedingung eingebaut werden muss)

Code
<!-- Anfang statistik--> 
<tr bgcolor='#6495ED'><td><b>Kategorie</b></td>
<td><b>Erreichte Punkte</b></td>
<td><b>Erreichte Punkte (gewichtet*)</b></td>
<td><b>Max. erreichbare Punkte</b></td>
<td><b>Erreicht (Prozent)</b></td></tr>

<tr><td>Reise Center</td>
<td>$summe1</td>
<td>$summe2</td>
<td>$summeZ1S3</td>
<td>"; if ($summeZ1S4 < 49) { $mailtext .= "<td bgcolor='#FF0000'>$summeZ1S4 &#37;</td>";}
elseif ($summeZ1S4 < 80) { $mailtext .= "<td bgcolor='#FFFF00'>$summeZ1S4 &#37;</td>";}
elseif ($summeZ1S4 > 80) { $mailtext .= "<td bgcolor='#008000'>$summeZ1S4 &#37;</td>";}
$mailtext = "

<tr><td>Fachwissen Allgemein</td>
<td>$summeallgemein</td>
<td>$summeallgemein</td>
<td>$summeZ2S3</td>
<td>$summeZ2S4 &#37;</td></tr>



als Antwort auf: [#468131]

Email via PHP - Format einer Tabelle

flobaer
Beiträge gesamt: 317

5. Apr 2011, 11:57
Beitrag # 5 von 7
Beitrag ID: #468441
Bewertung:
(3470 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
Hallo Catzenjaeger,

auf den ersten Blick fällt mir auf, dass Du direkt vor der if-Abfrage ein <td> stehen hast und in der Bedingung dann auch noch einmal. Es ergibt sich also ein "<td><td bgcolor...>...</td>". Dadurch bleibt immer eine Zelle zu viel offen.

Viele Grüße
Florian


als Antwort auf: [#468158]

Email via PHP - Format einer Tabelle

Catzenjaeger
Beiträge gesamt: 23

5. Apr 2011, 13:02
Beitrag # 6 von 7
Beitrag ID: #468447
Bewertung:
(3458 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
so? Mein problem es sind insgesamt mehrere Tabellen sind wo auch viel berechnet wird - wird da immer unterbrochen "$mailtext = " " und dann weiter im text oder kann man das alles zusammenfassen? Also nur einmal oben $mailtext = " und unten alles schliessen



Code
Code <!-- Anfang statistik--> 	 
<tr bgcolor='#6495ED'>

<td><b>Kategorie</b></td>
<td><b>Erreichte Punkte</b></td>
<td><b>Erreichte Punkte (gewichtet*)</b></td>
<td><b>Max. erreichbare Punkte</b></td>
<td><b>Erreicht (Prozent)</b></td></tr>


<tr><td>Reise Center</td>
<td>$summe1</td>
<td>$summe2</td>
<td>$summeZ1S3</td> ";
if ($summeZ1S4 < 49) { $mailtext .= "<td bgcolor='#FF0000'>$summeZ1S4 &#37;</td>";}
elseif ($summeZ1S4 < 80) { $mailtext .= "<td bgcolor='#FFFF00'>$summeZ1S4 &#37;</td>";}
elseif ($summeZ1S4 > 80) { $mailtext .= "<td bgcolor='#008000'>$summeZ1S4 &#37;</td>";}

$mailtext = "
<tr><td>Fachwissen Allgemein</td>
<td>$summeallgemein</td>
<td>$summeallgemein</td>
<td>$summeZ2S3</td>
<td>$summeZ2S4 &#37;</td></tr>



als Antwort auf: [#468441]
(Dieser Beitrag wurde von Catzenjaeger am 5. Apr 2011, 13:04 geändert)

Email via PHP - Format einer Tabelle

flobaer
Beiträge gesamt: 317

5. Apr 2011, 13:29
Beitrag # 7 von 7
Beitrag ID: #468448
Bewertung:
(3452 mal gelesen)
URL zum Beitrag
Beitrag als Lesezeichen
noch ein Anstupser:

$mailtext = "a";
$mailtext .= "b";

=> "ab"

$mailtext = "a";
$mailtext = "b";

=> "b"

Kleiner Punkt, große Wirkung ;-)
Ansonsten ist eine Unterbrechung kein Problem.


als Antwort auf: [#468447]
X