Verbindung zweier Tabellen mit PHP / MySQL ?

Vielleicht hilft Dir ja dieses kommentierte Query:
Code:
SELECT 
  # Felder von der Fächer-Tabelle
  # einzeln in die Projektion aufnehmen
  faecher.id,
  faecher.feld1,
  faecher.andereFelder,
  # Der LEFT JOIN unten setzt alle Felder der 
  # Verknüpfungstabelle NULL, wenn kein der
  # ON-Bedingung genügender Datensatz verknüpft
  # werden kann.
  # Das wird mit diesem IF abgefragt und in dem
  # Aliasfeld schonBelegt abgelegt.
  # Du kannst in der auslesenden Schleife
  # dieses Feld prüfen. Ist es 1, wählst Du die
  # Option in der Liste aus, ist es 0 lässt Du
  # die Option unausgewählt.
  if(verknuepfungsTabelle.schuelerId IS NULL,
     1,0) AS schonBelegt
FROM faecher
LEFT JOIN verknuepfungsTabelle
  # Die Tabellen werden über die ID des Fachs verknüpft.
  ON faecher.id=verknuepfungsTabelle.fachId
    # Einen passenden Datensatz gibt es aber nur, wenn
    # dieser auch zu dem zu ändernden Schüler gehört
    AND verknuepfungsTabelle.schuelerId=[idDesZuAenderndenSchulers]
Gruß hpvw
 
Das bringt mich auf jeden Fall auf eine Idee, was ich bisher vergessen habe zu testen.

Die Technik mit dem Verbinden der Tabellen durch einen SQL-Query hattest du ja schonmal weiter oben erwähnt, nur bekam ich das absolut nicht hin (ich hangel mich da im Moment fast schneller durch, wenn ich die Verknüpfungen via PHP-Schleifen erledige. Nur bisher in diesem Fall kam ich da nicht besonders weit).
 
*grübel* Also ich habe jetzt mitlerweile alles an dem EditierSkript fertig, nur diese vermalledeite Anzeige der select Form, wenn schon etwas belegt wurde will mir nicht gelingen. Das editieren des Namens, das editieren (ohne Redundanz) des Selectfeldes - alles geht. Nur scheine ich dieses Problem des anzeigens nicht zu erfassen.

Ich habe auch versuche, als Deine Query etwas zu machen, aber ich bekam sie nicht mal auf dem SQL-Server zum laufen. Geschweige denn via dem PHPskript oder zu wissen, wie genau ich sie dann handhaben muss *grübel*

Gibt es noch einen anderen Lösungsansatz, der mir bisher verborgen geblieben ist?
 
Ich werde es mir mal zu Gemüte führen. Vielen Dank schonmal für Deine ganzen Mühen mir das Thema an sich näher zu bringen :)

Ich gebe nicht auf *wühlt weiter*
 
So, nun die Rückmeldung:

habe heute nun endlich Zeit gehabt, mich dem Problem wieder zu widmen und konnte es nach der sehr guten Hilfe von hpvw und dem lesen von relevantem Webseiten (MySQL Handbuch etc) endlich lösen.

Hatte (wie ich schon schrieb) bisher immer alles mit Hilfe von PHP verknüpft. Jetzt (auch nach einigen Tests) muss ich gestehen schreibe ich lieber alles nochmal ordentlich. Es ist viel Übersichtliches, wenn man alles (zumindest viel) im Query unterbringt.

So, dann mach ich mich mal daran.

Vielen Dank nochmal für die Hinweise :)
 
Zurück