Tabellen Hintergrundfarbe dynamisch ändern

CrushLog

Erfahrenes Mitglied
Hi,

ich hab mal wieder ein absolutes Brett vorm Kopf und würde mich über einen kleinen Denkanstoss freuen.

Mein Problem zur Zeit:

Ich bin dabei ein Sitzplan Script für LANs zu programmieren und würde nun gern folgendes Feature einbauen:
Je nach Belegung des einzelnen Blocks soll die Hintergrundfarbe des Blocks automatisch geändert werden, sprich:
Wenn ein Block zu z.B. 25% belegt ist soll die Farbe in der Übersicht leicht gelb werden. Je mehr belegt ist, desto mehr soll die Farbe ins Rot übergehen, bis sie bei 90% ganz rot wird. Wenn ein Block zu 0% belegt ist, soll der Hintergrund grün sein (also die Ausgangsfarbe).

Kann ich das relativ dynamisch lösen? Welche Farbe bei welcher Prozentzahl gesetzt wird muss ich ja manuell angeben, aber dass er dann auch manuell die Farbe mehr Richtung Rot ändert, geht das so einfach? Gibt es da einen bestimmten Rhytmus bei RBG Farben? :suspekt:

Danke im Vorraus!
 

Sven Mintel

Mitglied
Code:
function rgb($intPct)
{
$r=($intPct<50) ? round(min(255,$intPct*5.1 ))          :255;
$g=($intPct>50) ? round(max(0,255-(($intPct-50)*5.1)))  :255;
return(' style="background-color:rgb('.$r.','.$g.',0)" ');
}

...erwartet die Prozentzahl... gibt dir das entsprechende CSS-Format zurück ;)

Das Prinzip:
Grün==RGB(0,255,0)
Gelb==RGB(255,255,0)
Rot==RGB(255,0,0)

man startet bei Grün mit Grün-Wert 255
Bis 50% wird der Rot-Wert hochgezählt auf 255... dann hat man Gelb.
Ab 50% wird der Grün Wert runtergezählt auf 0.... ergibt zum Schluss Rot
 

CrushLog

Erfahrenes Mitglied
Super, danke, werds gleich mal ausprobieren!

//Edit
Hat super funktioniert, wenn man sich das durchschaut ist es ja auch wieder recht einfach.
Warum bin ich da nur nicht drauf gekommen :/
 
Zuletzt bearbeitet: