php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Zeilen in table farblich markieren


 
anfaenger_369
05-03-2017, 18:13 
 
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/attachment.php?attachmentid=3301&stc=1&d=1488730045




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


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?


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:


<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 
 
.yellow {
background-color: #FCCF2D;
}
.green {
background-color: #19990B;
}
.red {
background-color: #F60D0D;
}
.grey {
background-color: #B1AEA4;
}


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 13:27 Uhr.