"Nachträgliche" Änderung der Farbe für eine Tabelle?

Hallo,
weiß jetzt nicht genau ob in die PHP sektion damit oder html, denke mal in php ist es besser aufgehoben

habe eine aufgabe in der schule bekommen, wo ich aus einem 2 dimensionalen array (buchstabenquadrat)
z.B.
http://www.mensa.at/images/Wortsuche.gif
tiernamen raussuchen lassen muss, und anschließend farblich markiere

also z.B. ist eingabe „Zebra“ und sucht dann im array (waagerecht und senkrecht) nach dem wort zebra

So, bin mit dem ganzen Teil schon so gut wie fertig

allerdings schaffe ich nicht die Variablen, die zum bereits gefundenen wort gehört, so zu ändern, dass sie in der tabelle mit einer anderen farbe zu versehen

[PHP]echo „<table border="1">“; //Schleife um Tabelle zu erzeugen
for($i=0;$i<20;$i++){
echo „“;
$y=$i;
for($j=0;$j<20;$j++){
$x=$j;
echo " ";
echo $array[$y][$x];
echo „“;
}
echo „“;
}

echo "</table>";[/PHP]so ist die gesammte tabelle gelb

die farbe will ich im script weiter oben direkt in einer schleife einfügen, indem ich die variable ändere (ich kann nicht alle variablen grundlegend ändern, dann klappt das raussuchen nicht mehr)

um nächträglich rot reinzukriegen (also in die variable) müsste ich ein neues td auf machen
also in etwa so:
[PHP]$array[$y][$x]=„“$array[$y][$x]„“;[/PHP]anders schluckt der die farbe nicht… wie also kann ich die noch einfügen?
so allerdings passt die gesamte tabelle nicht mehr…

hier auch mal der gesamte quelltext:
[PHP]

Buchstabenquadrat
<body bgcolor="lightblue">
<h2>Willkommen beim Spiel "Buchstabenquadrat"</h2><br>
<h3> Es läuft wie folgt: <br>
Dort unten ist ein Buchstabenquadrat zu sehen, in diesem sind Tiernamen versteckt.<br>
Sie sind waagerecht von links nach rechts  versteckt.<br>
Schaffst Du es alle Tiere zu finden?<br>
Des weiteren gelten nur Tiernamen, Buchstabenkombinationen wie "XY" mögen zwar vorhanden sein,<br>
zählen aber nicht als Tier!<br></h3><br>
Hier Tiername eingeben:
<form action="Buchstabenquadrat versuch.php" method="post">
<input type="text" name="tiername">
z.B. "AFFE",Wichtig: vorallem in <font color=darkred><b>GROßBUCHSTABEN!!! </b> </font> <br>
<input type="submit">
</form>
<?php

        // Hier wäre nun ein array mit 400 zeilen, da ich aber max 10k buchstaben nutzen darf, einach mal gekürzt

$array[0][0]=„A“;
$array[0][1]=„M“;
$array[0][2]=„S“;
$array[0][3]=„E“;
$array[0][4]=„L“;
.
.
.
$array[19][17]=„E“;
$array[19][18]=„E“;
$array[19][19]=„S“;

$tiername=$_POST[‚tiername‘];
$a=strlen($tiername);
IF(isset($tiername)){ // für zähl. gesteuerte Schleife
if(empty($tiername)){
echo „Gib bitte den Tiernamen an!
“; //wenn nicht gesetzt oder leer, anfragen
}
}else{
echo „Gib bitte den Tiernamen an!
“;
}
$x=0; // X-Achse im Array
$y=0; //Y-Achse im Array
$richtig=0; // weiterer Zähler
$treffer=0; // 0 oder 1 Variable um zu sagen ob das Wort vorhanden ist
for($y=0;$y<20;$y++){ //Vorgang für Waggerecht l nach r
for($x=0;$x<20;$x++){ //Durchzählen der Felder von 0/0 bis 19/19
if($tiername[0]==$array[$y][$x]){ //Checken ob 1. Buchstabe im jetzigen Feld gleich ist
for($b=1;$b<$a;$b++){ //wenn ja, dann wird weiter gerpüft, in oben genannten Richtung
if($tiername[$b]==$array[$y][$x+$b]){
$richtig=$richtig+1; //Zähler für die Richtigen Buchstaben
}
if($richtig==$a-1){ //wenn Zähler hoch genug, dann „treffer“, somit das richtige Wort
$treffer=1;
}
}
$richtig=0;
if($treffer==1){
$array[$y][$x]=$array[$y][$x]; //Hier habe ich vor, die Farbe einzufügen
for($b=1;$b<$a;$b++){
if($tiername[$b]==$array[$y][$x+$b]){
$array[$y][$x+$b]=$array[$y][$x+$b];
}
}
}

    }

}

}

echo „Deine Antwort:“.$tiername."
";
if($treffer==0&&isset($tiername)){
echo „Schade! Das war wohl nichts! “;
}
if($treffer==1&&isset($tiername)){
echo „Treffer! Der Tiername ist vorhanden!“;
}

echo „<table border="1">“; //Schleife um Tabelle zu erzeugen
for($i=0;$i<20;$i++){
echo „“;
$y=$i;
for($j=0;$j<20;$j++){
$x=$j;
echo " ";
echo $array[$y][$x];
echo „“;
}
echo „“;
}

echo "</table>";

?>

</body>
[/PHP]

Versuche es mit CSS du übergibst jedem eine andere id beispielsweise „<td id ="FeldNO“.$i.„">“. Dann musst du die ID des betrefenden 's abfragen und dieser übergibst du mit CSS eine Hintergrundfarbe. Ich hoffe ich habe es so richtig verstanden was Du meintest :wink:

Hier ein Ansatz. Die veränderten Stellen habe ich im Code markiert. Ich denke, es ist verständlich, ansonsten frag einfach.

[php]

Buchstabenquadrat
<body bgcolor="lightblue">
<h2>Willkommen beim Spiel "Buchstabenquadrat"</h2><br>
<h3> Es läuft wie folgt: <br>
Dort unten ist ein Buchstabenquadrat zu sehen, in diesem sind Tiernamen versteckt.<br>
Sie sind waagerecht von links nach rechts  versteckt.<br>
Schaffst Du es alle Tiere zu finden?<br>
Des weiteren gelten nur Tiernamen, Buchstabenkombinationen wie "XY" mögen zwar vorhanden sein,<br>
zählen aber nicht als Tier!<br></h3><br>
Hier Tiername eingeben:
<form action="" method="post">
<input type="text" name="tiername">
z.B. "AFFE",Wichtig: vorallem in <font color=darkred><b>GROßBUCHSTABEN!!! </b> </font> <br>
<input type="submit">
</form>
<?php

// Hier wäre nun ein array mit 400 zeilen, da ich aber max 10k buchstaben nutzen darf, einach mal gekürzt

// mermshaus: Liest Suchfeld aus Datei ein.
$tmp = file(‚./suchfeld.txt‘);
$array = array();
foreach ($tmp as $row) {
$row = trim($row);
if ($row !== ‚‘) {
$array = str_split($row);
}
}

$tiername=$_POST[‚tiername‘];
$a=strlen($tiername);

if (isset($tiername)) { // für zähl. gesteuerte Schleife
if (empty($tiername)) {
echo „Gib bitte den Tiernamen an!
“; //wenn nicht gesetzt oder leer, anfragen
}
} else {
echo „Gib bitte den Tiernamen an!
“;
}

$x=0; // X-Achse im Array
$y=0; //Y-Achse im Array
$richtig=0; // weiterer Zähler
$treffer=0; // 0 oder 1 Variable um zu sagen ob das Wort vorhanden ist
for($y=0;$y<20;$y++){ //Vorgang für Waggerecht l nach r
for($x=0;$x<20;$x++){ //Durchzählen der Felder von 0/0 bis 19/19
if($tiername[0]==$array[$y][$x]){ //Checken ob 1. Buchstabe im jetzigen Feld gleich ist
for($b=1;$b<$a;$b++){ //wenn ja, dann wird weiter gerpüft, in oben genannten Richtung
if($tiername[$b]==$array[$y][$x+$b]){
$richtig=$richtig+1; //Zähler für die Richtigen Buchstaben
}
if($richtig==$a-1){ //wenn Zähler hoch genug, dann „treffer“, somit das richtige Wort
$treffer=1;
}
}
$richtig=0;

        if ($treffer == 1) {
            $array[$y][$x] = $array[$y][$x] . '*';            //Hier habe ich vor, die Farbe einzufügen
            for ($b=1;$b<$a;$b++){                            // mermshaus: Getroffene Buchstaben mit Sternchen markieren
                if($tiername[$b]==$array[$y][$x+$b]){
                   $array[$y][$x+$b]=$array[$y][$x+$b] . '*';
                }
            }
        }
    }
}

}

echo „Deine Antwort:“.$tiername."
";
if($treffer==0&&isset($tiername)){
echo „Schade! Das war wohl nichts! “;
}
if($treffer==1&&isset($tiername)){
echo „Treffer! Der Tiername ist vorhanden!“;
}

echo „<table border="1">“; //Schleife um Tabelle zu erzeugen
for($i=0;$i<20;$i++){
echo „“;
$y=$i;
for($j=0;$j<20;$j++){
$x=$j;

            // mermshaus: Hier gucken wir, ob der Buchstabe mit einem
            // Sternchen markiert wurde. Falls ja, wird die Zelle rot
            // hinterlegt.

            if (strlen($array[$y][$x]) === 2) {
                echo '<td style="background: red;"><center> ';
                // Sternchen entfernen
                $array[$y][$x] = substr($array[$y][$x], 0, 1);
            } else {
                echo "<td><center> ";
            }


            echo $array[$y][$x];



            echo "</center></td>";
            }
        echo "</tr>";
        }

echo "</table>";

?>

</body>
[/php]

suchfeld.txt

AXXXXXXXXXXXXXXXXXXX MXXXXXXXXXXXXXXXXXXX SXXXXXXXXXXXXXXXXXXX EXXXXXXXXXXXXXXXXXXX LXXXXXXXXXXXXXXXXXXX XXXXXXXXXXFXXXXXXXXX XXXXXXXXXXAXXXXXXXXX XXXXXXXXXXSXXXXXXXXX XXXXXXXXXXAXXXXXXXXX XXXXXXXXXXNXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXSTORCHXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXXXXXX XXXXROTKEHLCHENXXXXX

gut danke

denke ich habs verstanden, allerdings sind da zu viele sachen, die wir so noch nicht im unterricht hatten:

  1. fällt das dann bei der lehrerin auf
  2. ist das auch nicht mein „schreibstil“, bei diesem umfangreichen script (php machen wir erst ein paar wochen) geht es bei mir um eine 1…
    der herr kollege „freed“ ist übrigens auch einer aus meiner klasse ^^ bei dem gehts auch um ne 1

habs jetzt nun so gemacht, dass ich nicht die bgcolor für eine Zelle ändere, ich füge bei den variablen einfach nur ein font mit color rein, zusätzlich noch fett

also :
$array[$y][$x]

aber danke