Tabellenzellenfarbe individuell - Problem

Sadik

Mitglied
Hiho!

Also ich hab mir meinen php code bis jetzt allein zusammengebastelt und bin da (denk ich) auch ganz gut vor, aber bei diesem Prob fällt mir einfach absolut keine Lösung mehr ein obwohl ich davon ausgehe das die Lösung von "Tippfehler" bin "Absoluter Schwachsinn den du da hast" reicht..

Naja erstmal: Ich möchte eine 20*20 Tabelle aufbauen, deren einzelne Felder eine individuelle Hintergrundfarbe (weiß, lila, schwarz, grau etc) haben können. Die Daten, welche Felder welche Farbe haben wird in einer tabelle gespeichert, so das ich die Daten da bequem ändern könnte ohne das ich viel html copy+pasten müßte.

Soviel zum Zweck, hier nu mein Code

PHP:
$link = mysql_connect($host, $user, $password);
mysql_select_db($dbname, $link);
$dbanfrage = "SELECT Eigenart, System_ID, SystemName FROM tab_Felder";

$result = mysql_query($dbanfrage)or die (mysql_error()."<br />Couldn't execute query: $query");
$anzahl = mysql_num_rows($result);
$i=0;

//Bis hierhin recht logisch, Verbindungsaufbau und Query einlesen
?>

<table border="0" cellspacing="4" cellpadding="0">
<tr><td width="1"><img src=images/leer.gif width="1" height="1"></td>
<td valign="top">
<table border="0" cellpadding="0" cellspacing="2" bgcolor="#6495DE">
<tr><td bgcolor="#6495DE" height="22"><b><?php echo mysql_result($result,1,"Systemname")?></b></td></tr>
<tr><td bgcolor="#6495DE">
<table border="0" cellspacing="1" cellpadding="0">
<tr>
</tr><tr>
<?php

//Dann bau ich den ersten Teil der Tabelle auf und bau einen Teil der Daten ein (naja nich viel)


while ($i < $anzahl) {
$farbe=mysql_result($result,$i,"Eigenart");
if ($i%20) {}
else {echo "</tr><tr>";}
if ($farbe[$i] = '1') { echo "<td bgcolor=#FFFFFF width=20 height=20 border=0></td>";}
elseif ($farbe[$i] = '2'){ echo "<td bgcolor=#800080 width=20 height=20 border=0></td>";}
elseif ($farbe[$i] = '3'){ echo "<td bgcolor=#808080 width=20 height=20 border=0></td>";}
elseif ($farbe[$i] = '4'){ echo "<td bgcolor=#C0C0C0 width=20 height=20 border=0></td>";}
elseif ($farbe[$i] = '5'){ echo "<td bgcolor=#008080 width=20 height=20 border=0></td>";}
elseif ($farbe[$i] = '6'){ echo "<td bgcolor=#000000 width=20 height=20 border=0></td>";}
$i++;
}

//Das hier ist der Teil der so wie ich mir das dachte nicht funktioniert.

echo "</tr>";
echo "</table>";
echo "</td></tr></table>";
mysql_close ($link);
// und das ist dann wieder normaler Rest
?>

Das Endergebnis sieht so aus: Er baut alle Felder Ordnungsgemäß auf, setzt den Systemnamen oben richtig ein, aber die Felder sind alle weiß. Bzw alle lila, schwarz oder wie auch immer, je nachdem wie rumeditiere. Ich bin soweit mit meinem Latein am Ende und würde mich freuen wenn mir jemand einen Tipp geben kann wie ich es besser/richtig machen kann :)

MfG
Sadik
 
also ich find in Zeile 19 eine ungereimtheit mit Zeile 4 und dann ist in Zeile 23 und 24 auch noch was unklar.

Auch in der else ist was mit der Tabelle nicht ganz in Ordnung. Ich empfehle dir mal mit Einrückungen zu arbeiten und du wirst schnell einige Unklarheiten selbst finden.
 
Ok ich hab das Problem gelöst, bin das jetzt einfacher angegangen und speicer direkt die Farbe in der Tabelle und setzt diese nur noch ein..wär von anfang an viel einfacher gewesen :rolleyes: :)
 
Zurück