MySQL Daten aus verknüpften Tabellen auslesen ? Hallo Leute,
ich habe mal wieder ein Problem. Ich bin noch Anfänger in Sachen PHP und SQL. Ich kann zwar schon einige Dinge , habe auch schon viel Erfahrung in manchen Sachen aber im Moment (Seit langer Zeit mal wieder aktiv mit php) habe ich da 2-3 Problemchen. Damit es nicht zu unübersichtlich wird , mache ich für jedes Problem einen Thread auf.
Kommen wir zu dem Problem was im Topicsteht. Ein Problem nicht wirklich sondern eher die Frage wie man dies Elegant lösen kann. Möchte da keine unnötigen abfragen drin haben. Daher die Frage.
Ich habe folgende Situation: 3 SQL Tabellen zb. so: user:
Spieler-ID, Name, ID der Ally, Anzahl Burgen, Punkte, Kontinent ally:
Ally-ID, Name, Tag, Anzahl Mitglieder, Anzahl Dörfer, Gesamtpunkte, Gesamtpunkte village:
Burg-ID, Name, X-Koordinate, Y-Koordinate, ID des besitzenden Spielers, Punkte
So nun möchte ich aus der Tabelle village alle Daten des Spielers XYZ auslesen. Die ID des Spielers XYZ finde ich aber nur in der tabelle user. Das heißt ich muß erst in der tabelle user nach dem NAmen schauen und welche ID dieser hat um dann in der Tabelle village anhand der ID die anderen Werte zu bekommen. Ich hoffe es ist verständlich.
Dazu habe ich folgende idee ich lese die ID des spielers ganz normal aus der user tabelle aus und das ergebniss setze ich in eine variable. Diese variable nutze ich dann in der 2 Abfrage für die village tabelle als where wert. Aber das scheint mir ein wenig umständlich. Habe hier gerade mal bisschen das Forum gelesen und auch sachen gefunden wo 2 Tabellen gleichzeitig abgefragt werden. Aber weiß ehrlich gesagt nicht wie ich das umsetzen sollte falls dies geht ?
Wenn man es ganz genau nimmt muß ich durch alle 3 tabellen. Sagen wir mal ich möchte member mit ihren burgen von einer Ally auflisten. Das heißt ich muß in der tabelle ally anhand des namens die allyid holen dann mit dieser in der tabelle user die dazugehörigen userid´s holen. und dann mit diesen in der tabelle village die dazugehörigen burgen.
Kann sein das ich im moment auch nur einen Denkfehler habe da es schon spät ist (Das so genannte Brett vorm Kopf) aber im moment weiß ich keine vernünftige Lösung.
Wer eine Lösung weiß oder Tips hat ich bin für Alles dankbar. Habe auch IRC, MSN und ICQ falls gewünscht.
Danke im Vorraus
MFG RedMunich |