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/)
-   -   Zeilen in table farblich markieren (https://www.php-resource.de/forum/php-developer-forum/105911-zeilen-in-table-farblich-markieren.html)

anfaenger_369 05-03-2017 18:13

Zeilen in table farblich markieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
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.

bandit600 05-03-2017 18:29

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'"


anfaenger_369 05-03-2017 19:12

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 :charity:

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>";



bandit600 05-03-2017 19:58

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.

anfaenger_369 05-03-2017 20:08

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 :dontknow:

PHP-Code:

<style>

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

</style>


bandit600 05-03-2017 20:15

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.

bandit600 05-03-2017 20:26

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>"
;



anfaenger_369 05-03-2017 20:55

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!


Alle Zeitangaben in WEZ +2. Es ist jetzt 01:45 Uhr.

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