Bedingte Formatierung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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>"
    Zuletzt geändert von michaelb; 25.11.2008, 08:31.

  • #2
    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\"> 

    Kommentar


    • #3
      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.

      Kommentar


      • #4
        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>"
        Zuletzt geändert von Skaschy; 25.11.2008, 09:09.

        Kommentar


        • #5
          Hallo,

          werde ich nachher ausprobieren.

          $Schuh_datum ist ein Datumsfeld

          Gruß

          Michael

          Kommentar


          • #6
            Hat super geklappt

            Danke

            Kommentar

            Lädt...
            X