Guten Abend zusammen,
Ich rolle das hier nochmal auf, da ich an der Stelle immer noch nicht weiter gekommen bin und mich das mitlerweile mehr und mehr verwirrt.
Also in meiner Datenbank sind 2 Tabellen, nennen wir sie Tab1 und Tab2. Aus der lese ich nun einige Daten mit:
$query1 = "SELECT wert1,wert2 FROM Tab1 WHERE sid='$i'";
$result1 = mysql_query($query1);
$Tab1 = mysql_fetch_array($result1);
$query2 = "SELECT wert3 FROM Tab2 WHERE sid='$i'";
$result2 = mysql_query($query2);
$Tab2 = mysql_fetch_array($result2);
aus.
Ich würde das je gern mit nem LEFT JOIN machen aber das funktioniert nur bei phpmyadmin. Wenn ich den SQL code in mein $query einfüge gibt er mir ein Fehler aus. Weiß der Geier warum.
So nun zum Teil der mich wirklich verwirrt: Aus der Tabelle 1 bekomme ich 2 Werte zurück die in einer Zeile in der Tabelle stehen. Das lässt sich wunderbar mit print_r($Tab1) ausgeben. Aus der Zweiten Tabelle bekomme ich zwischen 0 und 8 Werte zurück, meistens etwa 5-6. Diese Werte stehen in mehreren Zeilen in der Tabelle 2. Wenn ich nun versuche diese mit print_r($Tab2) auszugeben bekomme ich NUR den Ersten Wert aus der Ersten Zeile ausgegeben. Also hab ich es mit:
echo '<table border="1">';
while ($Tab2 = mysql_fetch_array($result2))
{
echo "<tr>";
echo "<td>". $wert3['name'] . "</td>";
echo "</tr>";
}
echo "</table>";
echo '</br>';
echo '<table border="1">';
probiert. Das funktionierte aber komischerweise fiel mir irgendwann auf, dass die Erste Zeile nicht ausgegeben wurde. Sprich es wurden nur 5 von 6 Werte ausgegeben. Kann es sein, dass wenn ich erst print_r($Tab2); und dann den "ausgabecode" nutze er die erste zeile überspringt?
Weiterhin müsste doch ein mehr dimensionales array bei der abfrage entstehen, da ja die Einträge in der Tabelle 2 in mehreren Zeilen stehen, oder? Doch mit einem echo , der Form:
echo $Tab2[0][0];
echo $Tab2[1][0];
.
.
.
bekomme ich auch keine vernünftigen Werte zurück.
Ja, dabei bräucht ich etwas Hilfe, Vielen Dank schonmal.
Gruß Jo