peter: 2-dimensionales Array aus MySQL-DB erzeugen?

Beitrag lesen

hi CK,

vielen Dank erstmal für deine Antwort.
So richtig kann ich die untenstehende DB-Abfrage noch nicht nachvollziehen, da kämpf ich mich gerade durch wie das alles so funktioniert mit den JOINS, LEFT JOIN, ON, .......

Gibts da irgendwo im Netz ne übersichtliche (Kurz-)Anleitung/Befehlsreferenz dazu?

Nun, da musst du mit JOINs arbeiten. Eine moegliche Loesung (ungetestet)
waere:

$res = mysql_query("
SELECT
  verein.name,mitglied.name
FROM
  verein
LEFT JOIN
  vm ON vm.vid = verein.id
LEFT JOIN
  mitglied ON miglied.id = vm.mid;");

Wenn ichs recht verstehe, bringt mir die Datenbakabfrage folgendes Ergebnis:

+----------+----------+
| verein a | person 1 |
+----------+----------+
| verein a | person 2 |
+----------+----------+
| verein a | person 3 |
+----------+----------+
| verein b | person 2 |
+----------+----------+
| verein b | person 3 |
+----------+----------+
| verein b | person 4 |
+----------+----------+

...welches ich dann mit php in meine gewünschte Array-Struktur bringen muß:

$ary = Array();
while($row = mysql_fetch_row($res)) {
  $ary[$res[0]][] = $row[1];
}

Sollte ich das richtig verstanden haben, müßte es dann aber nicht so aussehen ???:

$ary = Array();
while($row = mysql_fetch_row($res)) {
$ary[$row[0]][] = $row[1]; }
      ^^^

gruß
peter