phpbar.de logo

Mailinglisten-Archive

[php] Datenbank + Array Problem

[php] Datenbank + Array Problem

Michael Pernkopf e0200323 at stud4.tuwien.ac.at
Sam Mar 11 02:04:50 CET 2006


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