Mailinglisten-Archive |
Hallo NG,
leider stehe ich bei folgendem Problem etwas an, und würde daher eure
geschätzte Hilfe benötigen.
Folgende Spezifikation:
Eine Tabelle 10 x 10 Felder, durchnummeriert.
Gleichzeitig habe ich in der DB Koordinaten gespeichert koord_x und koord_y.
Beim Erstellen der Tabelle soll nun jede Zelle gecheckt werden, ob die
aktuelle ‚Koordinate’ der Zelle(sprich 1. Zeile, 2. Spalte) mit der
Koordinate in der DB also koord_x = 1 und koord_y = 2 übereinstimmen, und
bei Übereinstimmung die Tabelle
rot zu färben.
Das Problem scheint trivial zu sein, nur habe ich irgendwo einen logischen
(möglicherweise auch einen syntaktischen) Fehler, der hier enthalten sein
muß:
(bitte entschuldigt den nicht so hervorragenden Programmierstil, ich stehe
noch in den Anfängen)
[CODE]
<?php
include("db.php");
$xkoord = 10;
$ykoord = 10;
$count = 1;
$bgcolor = '#ffffff';
$ergebnis = mysql_query("SELECT * FROM koordinate");
$k = 1;
$l = 1;
$arrKoord = array();
$arrKoord2 = array();
?>
<table cellspacing="0" cellpadding="0" border="1"
style="border-style:dotted; border-width: 1px; border-color: #ff0000">
<?php
for($j = 0; $j < $ykoord; $j++) { // Beginn 1. Zeile
echo "<tr>";
for($i = 0; $i < $xkoord;$i++) { // Beginn 2. Spalte
while ($row = mysql_fetch_array($ergebnis)) {
$arrKoord[$k] = $row['koord_x']; // Koordinate x auslesen
$arrKoord2[$l] = $row['koord_y']; // Koordinate y auslesen
$xaktiv = $arrKoord[$k];
$yaktiv = $arrKoord2[$l];
// print_r($arrKoord);
// echo "<br />";
// print_r($arrKoord2);
// echo "<br /><br />";
// echo "<b>". $xaktiv . "</b>"; // x anzeigen
// echo "<b>". $yaktiv . "</b>"; // y anzeigen
if ($i == $xaktiv && $j == $yaktiv) { // Vergleich: Zeilen und
Spaltenindex mit Inhalt von $xaktiv und $yaktiv
$bgcolor = '#ff0000';
echo "<td width='15' height='11' bgolor=".$bgcolor."><font
size='1'>" . $count . "</font></td>";
}
$k++;
$l++;
}
echo "<td width='15' height='11' bgolor=".$bgcolor."><font size='1'>" .
$count . "</font></td>";
$count++;
}
echo "</tr>";
}
?>
[/CODE]
Die Tabelle wird angezeigt (10 x 10) und print_r zeigt Folgendes:
Array ( [1] => 5 )
Array ( [1] => 3 )
Array ( [1] => 5 [2] => 3 )
Array ( [1] => 3 [2] => 1 )
Array ( [1] => 5 [2] => 3 [3] => 6 )
Array ( [1] => 3 [2] => 1 [3] => 1 )
Array ( [1] => 5 [2] => 3 [3] => 6 [4] => 9 )
Array ( [1] => 3 [2] => 1 [3] => 1 [4] => 5 )
Array ( [1] => 5 [2] => 3 [3] => 6 [4] => 9 [5] => 1 )
Array ( [1] => 3 [2] => 1 [3] => 1 [4] => 5 [5] => 1 )
jedoch wird eine Einfärbung einer Zelle bei Übereinstimmung 'verweigert'.
Irgendwie verstehe ich das Problem nicht und wäre über kleine Hinweise, wo
mein Fehler steckt recht froh
Lg, Michael
php::bar PHP Wiki - Listenarchive