PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   PHP Developer Forum (https://www.php-resource.de/forum/php-developer-forum/)
-   -   Bedingte Formatierung (https://www.php-resource.de/forum/php-developer-forum/94670-bedingte-formatierung.html)

michaelb 25-11-2008 09:25

Bedingte Formatierung
 
Hallo,
ich versuche innerhalb der Ausgabe des PHP-Scriptes die Schriftfarbe zu ändern, wenn bestimmte Werte erreicht werden. Die Schriftfarbe wird nur innerhalb der IF-Klausel geändert, die nachfolgende Ausgabe, die sich noch innerhalb des font-Tags befindet nicht. Wo mache ich den Denkfehler?
Hier der Code
PHP-Code:

echo "<table>"
            while(
$zeile=mysql_fetch_array($ergebnis,MYSQL_BOTH))
                     {
                     
$schuh_datum $zeile["schuh_datum"];
                     
$ende_datum $zeile["ende_datum"]; 
                    if(
$schuh_datum =="0000-00-00"
                    {                     
                                            echo 
'<font color =  "#ff0000">'
                    echo 
"rot";//nur zur Kontrolle, wird rot ausgegeben
                     
}                         
                                       else     
                       {
                     echo 
'<font color="\#ffffff\">'
                    echo 
"blau"//nur zur Kontrolle, wird blau ausgegeben
                    

                    echo 
"<tr><td>";
                     echo 
$zeile["km"]."km";     
                        echo 
"</td> ";
                     echo 
"<td>"
                    echo 
$schuh_datum
                    echo 
"</td>"
                    echo 
"<td>";
                     echo 
$zeile["ende_datum"]; 
                    echo 
"</td>"
                    echo 
"<td>"
                    echo 
$zeile["typ"];     
                        echo 
"</td></tr>";     
                        echo 
"</font>";     
                    }                 
                                   echo 
"</table>"


alex2iceman 25-11-2008 10:01

1. Würde ich dir abraten, den font-tag zu benutzen. Das geht auch mit Klassen

2. Weiß ich nicht, ob man den Font-Tag innerhalb einer Tabelle mit Zeilen und Spalten verschachteln kann. Vielleicht funktioniert der Font-tag nur, solange er nicht durch einen tr oder td unterbrochen wird...?

3. ist hier die Syntax falsch:
PHP-Code:

 <font color="#ffffff\"> 


PHP-Desaster 25-11-2008 10:04

Zitat:

Vielleicht funktioniert der Font-tag nur, solange er nicht durch einen tr oder td unterbrochen wird...?
Ganz bestimmt. Das font-Tag ist kein gültiges Unterelement von dem table-Tag.
Du kannst aber deinem tr-Tag ganz einfach eine CSS-Klasse mitgeben und dann über ein entsprechendes Stylesheet die Unterelemente einfärben.

Skaschy 25-11-2008 10:06

Was für ein Datenbank Typ ist "schuh_datum"

Es ist vorallem vorteilhaft folgenden Syntax zu verwenden:

Code:

<!-- roter Text -->
<span style="color: red";>Text</span>


<!-- blauer Text -->
<span style="color: blue";>Text</span>

Da der Font-Tag in HTML 4.01 deprecated, also veraltet, ist und in XHTML 1.0 Strict DTD gar nicht mehr supported wird.

Prizipiell werden Styleangaben nicht für die ganze Tabelle übernommen.

Deshalb solltest du für jedes TD Element das "style" Attribute setzen, oder eben dem TR Tag.

PHP-Code:

echo "<table>"

// Da du hier nur auf assoziative Arrays zugreifst, kannst du in 
// mysql_fetch_array auch nur MYSQL_ASSOC anstatt MYSQL_BOTH 
// benutzen.

while($zeile=mysql_fetch_array($ergebnisMYSQL_ASSOC)) {
   
$schuh_datum $zeile["schuh_datum"];
   
$ende_datum $zeile["ende_datum"]; 

   if(
$schuh_datum =="0000-00-00")  {                     
      
$font_color 'red';
   } else {
      
$font_color 'blue';
   } 
   
   echo 
'<tr><td style="color: ' $font_color'">';
   echo 
$zeile["km"]."km";     
   echo 
"</td> ";
   echo 
'<td style="color: ' $font_color'">';
   echo 
$schuh_datum
   echo 
"</td>"
   echo 
'<td style="color: ' $font_color'">';
   echo 
$zeile["ende_datum"]; 
   echo 
"</td>"
   echo 
'<td style="color: ' $font_color'">';
   echo 
$zeile["typ"];     
   echo 
"</td></tr>";     
}                 
echo 
"</table>"


michaelb 25-11-2008 12:14

Hallo,

werde ich nachher ausprobieren.

$Schuh_datum ist ein Datumsfeld

Gruß

Michael

michaelb 25-11-2008 21:04

Hat super geklappt

Danke


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:03 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG