Hallo ich habe ein recht kompliziertes Problem:
Ich möchte aus 3 Tabellen, die mit einander verknüpft sind, bestimmte Werte ausgeben. Es handelt sich dabei um ein Immobilienverwaltungsprogramm in dem es Kunden, Immobilienobjekte und Dokumente gibt. Die Objekte werden den Kunden zugeordnet. Die Dokumente ebenfalls.
TABELLE 1 "fa_pass0_data"
----------------------------------
user_id
Kundennummer
Name
Vorname
TABELLE 2 "fa_pass0_login"
----------------------------------
user_id
reg_mail (E-Mailadresse des Kunden)
TABELLE 3 "Mieter" (Objekte die einem Kunden zugewiesen worden sind, der Mieter des Objektes ist ist)
-------------------------
ObjektnummerM
KundennummerM
Nun möchte ich folgende Daten ausgeben. Den Namen, Vornamen und die Emailadresse des Kunden, der einem bestimmten Objekt zugeordnet ist.
Ich habe zum Beispiel eine Objektenummer gegeben.
Nach meinen Überlegungen überprüfe ich anhand der Objektnummer (wie gesagt, ist bereits gegeben), ob in der Tabelle "Mieter" dem Objekt Personen zugeordnet wurden. Anhand deren Kundennummern finde ich deren Namen aus der Tabelle "fa_pass0_data". Aus dieser Tabelle finde ich wiederum mittels der "user_id" die Emailadresse aus der Tabelle "fa_pass0_login". Also zwischen jeder Tabelle besteht ein Bindeglied.
Ich habe das mal umgesetzt:
Von der Logik her müßte das so stimmen, oder?
Mein Problem ist, dass nur eine einzige Kundennummer, also nur ein Kunde, ausgegeben wird, obwohl 3 Kunden dem Objekt mit der Objektnummer zugeordnet sind.
Für Deine Hilfe im Vorraus schon vielen Dank.
Gruß,
c-bass
PS: Die Tabellenkonstruktionen müßen so stehen bleiben.
Ich möchte aus 3 Tabellen, die mit einander verknüpft sind, bestimmte Werte ausgeben. Es handelt sich dabei um ein Immobilienverwaltungsprogramm in dem es Kunden, Immobilienobjekte und Dokumente gibt. Die Objekte werden den Kunden zugeordnet. Die Dokumente ebenfalls.
TABELLE 1 "fa_pass0_data"
----------------------------------
user_id
Kundennummer
Name
Vorname
TABELLE 2 "fa_pass0_login"
----------------------------------
user_id
reg_mail (E-Mailadresse des Kunden)
TABELLE 3 "Mieter" (Objekte die einem Kunden zugewiesen worden sind, der Mieter des Objektes ist ist)
-------------------------
ObjektnummerM
KundennummerM
Nun möchte ich folgende Daten ausgeben. Den Namen, Vornamen und die Emailadresse des Kunden, der einem bestimmten Objekt zugeordnet ist.
Ich habe zum Beispiel eine Objektenummer gegeben.
Nach meinen Überlegungen überprüfe ich anhand der Objektnummer (wie gesagt, ist bereits gegeben), ob in der Tabelle "Mieter" dem Objekt Personen zugeordnet wurden. Anhand deren Kundennummern finde ich deren Namen aus der Tabelle "fa_pass0_data". Aus dieser Tabelle finde ich wiederum mittels der "user_id" die Emailadresse aus der Tabelle "fa_pass0_login". Also zwischen jeder Tabelle besteht ein Bindeglied.
Ich habe das mal umgesetzt:
Code:
$befehl4 = " SELECT miet.ObjektnummerM, miet.KundennummerM, data.user_id, data.Name, data.Vorname, data.Kundennummer, login.user_id, login.reg_mail FROM Mieter miet, fa_pass0_data data, fa_pass0_login login WHERE '$Objektnummer' = miet.ObjektnummerM AND miet.KundennummerM = data.Kundennummer AND data.user_id = login.user_id" or die(mysql_error()); //Befehl4 ausführen $befehl4ausfuehren = mysql_query($befehl4,$verbindung) or die (mysql_error()); //Jede Zeile ausgeben while ($ausgabe4 = mysql_fetch_array($befehl4ausfuehren)) { print "$ausgabe4[KundennummerM], $ausgabe4[Name] "; }
Mein Problem ist, dass nur eine einzige Kundennummer, also nur ein Kunde, ausgegeben wird, obwohl 3 Kunden dem Objekt mit der Objektnummer zugeordnet sind.
Für Deine Hilfe im Vorraus schon vielen Dank.
Gruß,
c-bass
PS: Die Tabellenkonstruktionen müßen so stehen bleiben.
Kommentar