Hallo mal wieder,
ich programmiere zurzeit in PHP ein Datenbanksystem, mit dem verschiedene Elektronenröhren verwaltet werden sollen.
Nun hat jede Röhre einen eindeutigen Namen und eine eindeutige ID in der Mastertabelle "mastertable", klar so weit. Nun sollen aber auch Bilder und Links zu den Röhren hinzugefügt werden. Sprich: Wiederholungsgruppen.
Also habe ich diese ausgelagert in "roehren_bilder" und "roehren_links"; diese Tabellen bestehen aus jeweils ID, master_ID (die verweist auf die ID der Röhre im mastertable) und einem text link bzw. bild. Das Auslesen mache ich momentan so (wohlgemerkt, mit einer Wiederholungsgruppe, nur den Bildern):
Oder so mit den Links:
Dann erhalte ich ja den Namen der Röhre genau so oft als Zeile, wie es Bilder bzw. Links dazu gibt. Wie kann ich elegant alle Bilder und Links auslesen?
Vielleicht lieber LEFT JOIN nehmen und bei leeren mastertable-Daten die Wiederholungsgruppen zur letzten Röhre hinzufügen?
__________
Eine Alternative ist es, nach wie vor
zu fragen, und dann pro Röhren-Ergebnis in den Bild- und Linktabellen nach Einträgen zu suchen. Allerdings kommt mir das eher krude vor.
Könnt ihr mir helfen, wie ich das elegant und effizient lösen kann?
Gruß
Jens
ich programmiere zurzeit in PHP ein Datenbanksystem, mit dem verschiedene Elektronenröhren verwaltet werden sollen.
Nun hat jede Röhre einen eindeutigen Namen und eine eindeutige ID in der Mastertabelle "mastertable", klar so weit. Nun sollen aber auch Bilder und Links zu den Röhren hinzugefügt werden. Sprich: Wiederholungsgruppen.
Also habe ich diese ausgelagert in "roehren_bilder" und "roehren_links"; diese Tabellen bestehen aus jeweils ID, master_ID (die verweist auf die ID der Röhre im mastertable) und einem text link bzw. bild. Das Auslesen mache ich momentan so (wohlgemerkt, mit einer Wiederholungsgruppe, nur den Bildern):
Code:
SELECT *
FROM mastertable
INNER JOIN roehren_bilder ON mastertable.id = roehren_bilder.master_id
Oder so mit den Links:
Code:
SELECT *
FROM mastertable
INNER JOIN roehren_bilder ON mastertable.id = roehren_bilder.master_id
Dann erhalte ich ja den Namen der Röhre genau so oft als Zeile, wie es Bilder bzw. Links dazu gibt. Wie kann ich elegant alle Bilder und Links auslesen?
Vielleicht lieber LEFT JOIN nehmen und bei leeren mastertable-Daten die Wiederholungsgruppen zur letzten Röhre hinzufügen?
__________
Eine Alternative ist es, nach wie vor
Code:
SELECT * FROM mastertable
zu fragen, und dann pro Röhren-Ergebnis in den Bild- und Linktabellen nach Einträgen zu suchen. Allerdings kommt mir das eher krude vor.
Könnt ihr mir helfen, wie ich das elegant und effizient lösen kann?
Gruß
Jens