Farben zuordnen

icefire

Erfahrenes Mitglied
Hallo!

Ich suche nach einer Möglichkeit Farben zu denfinieren. In meiner Datenbank werden die Werte Gewonnen, Verloren und Unentschieden eingetragen. Jetzt möchte ich das Ergebnis angezeigt bekommen aber Farbig und zwar wie folgt:

Ich habe zB. 30 Punkte und der Gegner nur 18 Punkte. Nun soll das Ergebnis so angezeigt werden, das meine Punktzahl grün ist, die vom Gegner rot. Sollte ich weniger Punkte haben sollen die Farben umgekehrt ausgegeben werden und bei einem Unentschieden irgend eine andere Farbe für beie Punktzahlen.

Wer hat einige Tips zur Hand wie ich das Problem lösen kann?

thx for help
ice
 
Hi,

also eigentlich solltest du mal suchen. Gibt bestimmt schon viele Threads hier im Forum und bei :google: auch was finden.

Aber na egal, fürs nächste Mal.

So ich würde es mit einer StyleSheet Datei lösen.
Lege einfach eine an, in denen Du drei Styles anlegst.

Die Farben müssen noch angepasst werden hatte keine Lust jetzt moch mein PS aufzumachen. :-)

Code:
.gewonnen{
       background: #FFFFFF;
}
.verloren{
       background: #FF0000;
}
.unentschieden{
       background: #000000;
}

So und dann kannste in einer PHP Funktion vergleichen wer gewonnen hat.
Mit der Funktion in einer Schleife kannste dann auch Listen machen. Aber der Code ist untested.

PHP:
<?
	function winnerlooser($player1, $player2){
		if($player1 > $player2){
			$class1="gewonnen";
			$class2="verloren";
		}elseif($player1 < $player2){
			$class1="verloren";
			$class2="gewonnen";
		}elseif($player1 = $player2){
			$class1="unentschieden";
			$class2="unentschieden";
		}
		return($class1, $class2);
	}

?>

Hoffe ich konnte Dir ein bißchen den Weg zeigen. ;-)
 
Zuletzt bearbeitet:
@Angeltv: Ich glaube richtiger wäre beim letzten Vergleich in der Funktion (Unentschieden) ein == statt nur einem =. ;)

PS: Loser mit einem O :p
 
Mal meine Idee hier rein :)

PHP:
<?
$str = "30:18";
$ergebnis = explode(":",$str);

$color= "#FF0000";
$ergebnis[0]==$ergebnis[1] ? $color="#FFFF66" : $color=$color;
$ergebnis[0]>$ergebnis[1] ? $color="#00CC00" : $color=$color;

echo '<font color="'.$color.'">'.$str.'</font>';
?>
 
Hallo!

Danke schon einmal für eure Tips!

@angeltv: Ich habe es versucht umzusetzen - aber bei return() kommt immer ein parse error - und ich vermute mal das ohne diesen Schritt die Farben nicht angezeigt bzw definiert werden kann. Die verschiedesten Möglichkeiten habe ich bereits ausprobiert aber die Fehlermeldung bleibt - bis auf return; aber da wird dann auch keine farbe definiert.

@voodoo: Das Skript habe ich versucht anzupassen weil die Ergebnisse ja aus einer Datenbank abgefragt werden und entsprechend verschieden sind - das ist mir aber nicht gelungen. Auch sieht das so aus als ob dann beide Zahlenwerte die gleiche Farbe haben(?) und ich ja je nach Ergebniss die Farben ( zB. 40 : 8 oder 8 : 40 ) angepassen möchte.
 
Das wurmt mich jetzt.

Ich probiere das jetzt mal selber aus. :(
Bitte poste mal die genaue Fehlermeldung und deinen Sourcecode.
 
Danke das Du dich der Sache so angenommen hast. Die Fehlermeldung war eine ganz einfache 'Parse Error in 192' - eben der Zeilennummer im Skript. Und wie gesagt ausser bei return; haben alle varianten diesen Fehler hervorgerufen. Ansonsten hatte ich Deinen Code nur angepasst:
PHP:
// datenbankverbindung und abfrage


function stats($o_stats, $e_stats){ 
        if($o_stats > $e_stats){ 
            $class1="won"; 
            $class2="lost"; 
        }elseif($o_stats < $e_stats){ 
            $class1="lost"; 
            $class2="won"; 
        }elseif($o_stats = $e_stats){ 
            $class1="draw"; 
            $class2="draw"; 
        } 
        return($class1, $class2); 
    }

In der Tabelle habe ich dan class=".$class1." usw. eingefügt - aber obs funktioniert hätte weiss ich natürlich nicht. Aber das nur mal so am Rande denn ich habe eine Möglichkeit aus allen meiner Posts der letzten Tage gefunden. Hier für diejenigen dies interessiert:

PHP:
$link=mysql_query("SELECT war_date, clan_name, e_stats, o_stats, war_status FROM war_list ORDER BY war_id DESC");      
	echo mysql_error();
	
function bgcolor($row = 1) { 
    static $i; 
    static $col = array('#6699CC','#B2B2B2'); // etc. 
    $bg = $col[(int)($i + .00000001)]; 
    $i += 1 / $row; 
    if ($i >= count($col)) $i = 0; 
    return $bg; 
	} 

while($data = mysql_fetch_array($link))
	{ 	   
if ($data[war_status] == 'won')
	{ 
	printf("<tr bgcolor='%s'> 
            <td>[<font color=\"#ffffff\">".$data[war_date]."</font>]</td>
			<td>[<font color=\"#ffffff\">".$clanname."</font> vs. <font color=\"#ffffff\">".substr($data[clan_name],0,20)."</font>]</td>
			<td>[<font color=".$woncol."><b>".$data[o_stats]."</b></font> : <font color=".$lostcol."><b>".$data[e_stats]."</b></font>]</td>
			<td>[<font color=\"#ffffff\">Counter-Strike</font>]</td>
			<td>[<a href=\"#\"><font color=\"#ffffff\">Details</font></a>]</td> 
			</tr>\n", bgcolor(1));
	}
elseif ($data[war_status] == 'lost') 
	{ 
	printf("<tr bgcolor='%s'> 
            <td>[<font color=\"#ffffff\">".$data[war_date]."</font>]</td>
			<td>[<font color=\"#ffffff\">".$clanname."</font> vs. <font color=\"#ffffff\">".substr($data[clan_name],0,20)."</font>]</td>
			<td>[<font color=".$lostcol."><b>".$data[o_stats]."</b></font> : <font color=".$woncol."><b>".$data[e_stats]."</b></font>]</td>
			<td>[<font color=\"#ffffff\">Counter-Strike</font>]</td>
			<td>[<a href=\"#\"><font color=\"#ffffff\">Details</font></a>]</td> 
			</tr>\n", bgcolor(1));
	}
elseif ($data[war_status] == 'draw') 
	{ 
	printf("<tr bgcolor='%s'> 
            <td>[<font color=\"#ffffff\">".$data[war_date]."</font>]</td>
			<td>[<font color=\"#ffffff\">".$clanname."</font> vs. <font color=\"#ffffff\">".substr($data[clan_name],0,20)."</font>]</td>
			<td>[<font color=".$drawcol."><b>".$data[o_stats]."</b></font> : <font color=".$drawcol."><b>".$data[e_stats]."</b></font>]</td>
			<td>[<font color=\"#ffffff\">Counter-Strike</font>]</td>
			<td>[<a href=\"#\"><font color=\"#ffffff\">Details</font></a>]</td> 
			</tr>\n", bgcolor(1));
	}
	}

Jetzt kann ich sagen das eure Tips mir richtig geholfen haben einen Weg zu finden. :-)
 
Zurück