robertroth: Kleines Logisches/Syntax Problem

Beitrag lesen

Liebe Mitdenker, liebe Wissende, liebe Neugierige,

Hey,

print_r ($arr);

Wie sind denn die Daten für das print_r() in das $arr reingekommen?

Das kommt hier her:

$query = "SELECT `Tab1`.`Wert1`,`Tab1`.`Wert2`,`Tab2`.`Wert3` FROM `Tab1` LEFT JOIN `Tab1` ON (`Tab2`.`var`=`Tab1`.`var`) WHERE `Tab1`.`var`=$i";
$result = mysql_query($query);
$arr = mysql_fetch_array($result);

Da hast Du auch nur die erste Zeile aus dem Resultset abgeholt. Du würdest hier zum übertragen ins Arrey genau so eine Schleife brauchen, wie unten.

Und dann hast Du hier gleich weitergemacht?
Oder hat dieses fetch mit dem oberen nichts zu tun?

echo '<table border="1">';
while ($arr = mysql_fetch_array($result))
{
	echo "<tr>";
	echo "<td>". $arr['wert1'] . "</td>";
	echo "<td>". $arr['wert2'] . "</td>";
	echo "<td>". $arr['wert3'] . "</td>";
	echo "</tr>";
}
echo "</table>";
echo '</br>';
echo '<table border="1">';

Das :

$arr = mysql_fetch_array($result)

hab ich auskommentiert wenn ich den "ausgabecode" nutze.

Ok. Dann kann aber bei der unteren Schleife kein Datensatz fehlen.

Alle Werte in Tab1 und Tab2 sind Floats.

Da ich deine Werte nicht kenne, kann ich dazu nichts sagen. Die Typerhaltung von MySQL nach PHP ist eigentlich weitgehend gewährleistet. Wenn anstelle von print_r() mal var_dump() benutzt, sollten dir die Typen auch angezeigt werden.

Bei der Ausgabe fehlt aber die kontextgerechte Behandlung mit htmlspecialchars()

"Komischerweise scheint es so, dass in dem array Varchar oder Intenger stehen, bin mir nicht ganz sicher." (Bin mir nicht mal sicher ob das überhaupt stimmen kann.)

denn eine ausgabe mit:

echo $arr['wert1'][0];
echo $arr['wert1'][1];
echo $arr['wert1'][2];

zeigt mir jede Stelle eines Floats an als [0]=> zahl, [1]=>. , [2]=>zahl,....

Gruß

Spirituelle Grüße
Euer Robert
robert.r@online.de

--
Möge der wahre Forumsgeist ewig leben!