Notice: Undefinied Offset 78

Joe

Erfahrenes Mitglied
Guten Abend.

Beim Versuch ein Array in einer Schleife tabellarisch auszugeben bekomme ich diese Fehlermeldungen: Notice: Undefinied Offset 78 In Line 160
PHP:
		if (isset($koordArray) && $koordArray[$i][$j] != "") {
Das Array beinhaltet Koordinaten und wird in einer MySQL-Abfrage befüllt. Aber nicht alle Koordinaten sind in der Datenbank verzeichnet (wären sonst 40000 Einträge)
Die Tabelle wird nach den etlichen Fehlermeldungen dann aber koreckt angezeigt.

Ich verstehe nicht so recht woher die Meldung kommt denn an sich soll ja das Array nur ausgelesen werden wenn es auch bei den Indizies befüllt ist.
Was mache ich falsch und wie kann ist das besser zu lösen?

relevanter Codeausschnitt:
PHP:
$sql = "SELECT
			Username,
			PosX,
			PosY
		FROM
			User
		WHERE
			PosX >=$NearestKoordsX1 AND PosX < $NearestKoordsX2 AND
			PosY >=$NearestKoordsY1 AND PosY < $NearestKoordsY2";
	$result = $db->query($sql);
while ($row = $result->fetch_assoc()) {
  $koordArray[$row['PosY']][$row['PosX']] = $row['Username']; 
} 
		echo "<table border=\"1\">";
		for($i = $NearestKoordsY1; $i <= $NearestKoordsY2; $i++) {
			echo"<tr>"; // neue Zeile
			for($j = $NearestKoordsX1; $j <= $NearestKoordsX2; $j++) {
				if (isset($koordArray) && $koordArray[$i][$j] != "") { 
					echo "<td>".$koordArray[$i][$j]."</td>";
				}
				else {
					echo "<td></td>";
				}
			}
			echo "</tr>";
		}
		echo "</table>";
var_dump($koordArray);

Falls sich wer fragt: Die Tabelle soll dann über den einmal berechneten Kartenauschnitt gelegt werden und nur die Positionen anzeigen.

Grüsse Joe.
 
Zuletzt bearbeitet:
Hallo

wo befindet sich denn Zeile 160?
Ansonsten was mir gerade auffällt:
Ändere die Zeile mal so um. Momentan prüfst du nämlich nur ob das array existiert, was natürlich der Fall ist. Du solltest aber besser prüfen ob auch die Koordinaten in dem Array sind. Das machst du wie folgt:
PHP:
if( isset($koordArray[$i][$j] && $kordArray[$i][$j] != "")
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Joe
PHP:
if (isset($koordArray[$i][$j]) && $koordArray[$i][$j] != "") {

War völlig korreckt Danke dir Timestamp :)
Das war übrigens die Line 160. Da hab ich mir heut nur die halbe Miete ergoogelt. Hätte ich mal gleich hier gefragt :)
 
Zurück