Zeilen in table farblich markieren

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

  • Zeilen in table farblich markieren

    hallo Phpler,

    meine grundlegende Frage ist: Wie bekomme ich es mit PHP hin, in einer Tabelle mit Zufallszahlen, die Zeilen (nicht Spalten) anzusprechen und sie farblich zu markieren mit ihren Werten.

    Ein Beispiel:

    Eine ganz normale Tabelle in denen Zufallszahlen in der ersten Spalte angezeigt werden. In der 2 Spalten werden nur die ersten Stellen der Zufallszahlen angezeigt, in der 3 Spalte werden die ersten zweit Stellen der Zufallszahlen angezeigt, in der 4 Spalte werden die ersten drei Stellen der Zufallszahlen angezeigt und in der 5 Spalte werden die ersten vier Stellen der Zufallszahlen angezeigt. Jetzt sollen die Zeilen der Zufallszahlen abhängig von der Größe farblich markiert sein. Also 1-stellig:balu , 2-stellig: grün, 3-stellig: gelb.


    Was ich schon habe sind:

    die Zufallszahlen in einer tabelle dargestellt.

    Ich bekomme es aber nicht hin, den hintergrund farblich zu markieren abhängig von der Größe.

    screenshot:
    http://www.php-resource.de/forum/att...1&d=1488730045


    PHP-Code:

    function zufzahl($max$anzahl) {
      echo 
    "<table class='table table-bordered'>";
      echo 
    "<thead><th>Zufahlszahl</th><th>ersten 1 Stellen</th><th>ersten 2 Stellen</th><th>ersten 3 Stellen</th><th>ersten 4 Stellen</th></thead>\n";
      echo 
    "<tbody>";
      for(
    $i=1$i<=$anzahl$i++) {
        
    $zzahl rand(1,$max);
        
    $gerundet1 abschneiden($zzahl,1);
        
    $gerundet2 abschneiden($zzahl,2);
        
    $gerundet3 abschneiden($zzahl,3);
        
    $gerundet4 abschneiden($zzahl,4);
        echo 
    "\n<tr><td>$zzahl</td><td>$gerundet4</td><td>$gerundet3</td><td>$gerundet2</td><td>$gerundet1</td></tr>\n";
      }
      echo 
    "</tbody>";
      echo 
    "</table>";
    }

    function 
    abschneiden($zahl,$stellen=2) {
      
    $base pow(10,$stellen);
      return 
    $zahl - ($zahl $base);

    Danke für jeden tipp im voraus.
    Angehängte Dateien

  • #2
    PHP-Code:
        if ($zzahl 10)
          
    $css "style='background-color: #0000ff'";
        else if (
    $zzahl 100)
          
    $css "style='background-color: #00ff00'";
        else
          
    $css "style='background-color: #ff00ff'"

    Kommentar


    • #3
      ja so ähnlich sieht meins auch aus

      PHP-Code:
      if ($zzahl >= 1000 && $zzahl <= 9999) {
           echo 
      "style= background-color: yellow;";
        }
        elseif (
      $zzahl >=10000 && $zzahl <= 99999 ) {
           echo 
      "style= background-color: blue;";
        }
        elseif (
      $zzahl >=100000 && $zzahl <= 999999 ) {
           echo 
      "style= background-color: green;";
        }
        else {
           echo 
      "style= background-color: red;";
        } 

      ich hab es jetzt in deins abgeändert, aber es funktioniert immer noch nicht

      setze ich es vll an die falsche stelle?

      PHP-Code:
      function zufzahl($max$anzahl) {
        echo 
      "<table class='table table-bordered'>";
        echo 
      "<thead><th>Zufahlszahl</th><th>ersten 1 Stellen</th><th>ersten 2 Stellen</th><th>ersten 3 Stellen</th><th>ersten 4 Stellen</th></thead>\n";
        echo 
      "<tbody>";
        for(
      $i=1$i<=$anzahl$i++) {
          
      $zzahl rand(1,$max);
          
      $gerundet1 abschneiden($zzahl,1);
          
      $gerundet2 abschneiden($zzahl,2);
          
      $gerundet3 abschneiden($zzahl,3);
          
      $gerundet4 abschneiden($zzahl,4);
          echo 
      "\n<tr class='zeile'><td>$zzahl</td><td>$gerundet4</td><td>$gerundet3</td><td>$gerundet2</td><td>$gerundet1</td></tr>\n";
        }

        if(
      $zzahl >= 1000 && $zzahl <= 9999) {
            
      $farbe "style='background-color: #FCCF2D'";
          }
          elseif (
      $zzahl >=10000 && $zzahl <= 99999) {
            
      $farbe "style='background-color: #19990B'";
         }
         elseif (
      $zzahl >=100000 && $zzahl <= 999999) {
            
      $farbe "style='background-color: #F60D0D'";
         }
        else {
            
      $farbe "style='background-color: #B1AEA4'";
         }

        echo 
      "</tbody>";
        echo 
      "</table>";

      Zuletzt geändert von anfaenger_369; 05.03.2017, 18:53.

      Kommentar


      • #4
        Du sollltest mal überlegen, an welcher Stelle du die Farben bestimmst und wo du diese überhaupt benutzt.
        Das logische Denken können wir dir nicht abnehmen, das musst du schon selber machen.

        Kommentar


        • #5
          die variable $farbe habe ich bestimmt, aber es greift trotzdem nicht, ich habe schon zig möglichkeiten probiert, aber irgendetwas fehlt und ich sehr den wald vor lauter bäumen scheinbar nicht

          PHP-Code:
          <style>

            tr {
              background-color: <?php echo $farbe?>
            };

          </style>

          Kommentar


          • #6
            Mitdenken!!!

            Da wird doch genau einmal die Farbe gesetzt!!!

            Entweder du schreibst die Style-Angaben direkt bei tr rein oder du erstellst Klassen mit den unterschiedlichen Farben und schreibst diese bei tr direkt rein.

            Kommentar


            • #7
              Code:
              .yellow {
                background-color: #FCCF2D;
              }
              .green {
                background-color: #19990B;
              }
              .red  {
                background-color: #F60D0D;
              }
              .grey {
                background-color: #B1AEA4;
              }

              PHP-Code:
              function zufzahl($max$anzahl
              {
                echo 
              "<table class='table table-bordered'> 
                        <thead>
                          <th>Zufahlszahl</th>
                          <th>ersten 1 Stellen</th>
                          <th>ersten 2 Stellen</th>
                          <th>ersten 3 Stellen</th>
                          <th>ersten 4 Stellen</th>
                        </thead>
                        <tbody>\n"
              ;
                        
                for(
              $i=1$i<=$anzahl$i++) 
                {
                  
              $zzahl rand(1,$max);
                  
                  if(
              $zzahl >= 1000 && $zzahl <= 9999)
                    
              $class "yellow";
                  elseif (
              $zzahl >=10000 && $zzahl <= 99999)
                    
              $class "green";
                  elseif (
              $zzahl >=100000 && $zzahl <= 999999)
                    
              $class "red";
                  else
                    
              $class "grey";
                 
                  
              $gerundet1 abschneiden($zzahl,1);
                  
              $gerundet2 abschneiden($zzahl,2);
                  
              $gerundet3 abschneiden($zzahl,3);
                  
              $gerundet4 abschneiden($zzahl,4);
                  
                  echo 
              "<tr class='$class'>
                         <td>
              $zzahl</td>
                         <td>
              $gerundet4</td>
                         <td>
              $gerundet3</td>
                         <td>
              $gerundet2</td>
                         <td>
              $gerundet1</td>
                        </tr>\n"
              ;
                }
                echo 
              "   </tbody> 
                      </table>"
              ;

              Kommentar


              • #8
                Ach kacke, ja, jetzt verstehe ich was Du gemeint hast. Ich wusste nicht das ich bei einer Klasse eine Variable reinschreiben kann.

                Ich danke Dir für diesen heiligen Tipp.
                Aller Anfang ist schwer.

                Das vergesse ich jetzt niemals!

                Kommentar

                Lädt...
                X