cl-griffin
29.04.2008, 19:15:20
Hallo allerseits,
ich bin PHP/MySQL Rookie und bastle seit einiger Zeit an einem Script für eine Sponsorenverwaltung für Affiliates. Dazu habe ich zwei Tabellen erstellt. In der Tabelle "sponsors" befindet sich der Ref-Code, die ID und der Name des Sponsors, in der Tabelle "banners" die Daten für das zugehörige Werbemittel, also die Banner URL, Banner-Abmessungen und die ID der "sponsors"-Tabelle zur Zuordnung der Datensätze.
Mein Problem ist: Wenn ich aus der "banners"-Tabelle einen Datensatz lösche, habe ich einen"verwaisten" Datensatz bei den Sponsoren, dem kein Banner zugeordnet ist. Wie kann ich diese Datensätze aufrufen?
Mein letzter Versuch war diese LEFT JOIN Abfrage:
$result = mysql_query("SELECT * FROM sponsors LEFT JOIN banners ON sponsors.id = banners.id");
Damit erhalte ich eigentlich genau die Übersicht die haben möchte, mit allen Einträgen aus beiden Tabellen; korrekt verknüpft. Allerdings fehlt die ID bei den verwaisten Datensätzen!
Soweit logisch, da ja keine Zuordnung (sponsors.id = banners.id) wie oben angegeben stattfinden kann, denn in der Tabelle "banners" gibt es diese ID ja nicht mehr...
Also muß ein anderer Ansatz her, allerdings bin ich nach tagelangem rumprobieren mit meinem Latein am Ende. Ich hoffe ich habe mich verständlich ausgedrückt und es kann mir jemand auf die Sprünge helfen.
Vielen Dank im Voraus,
Carsten
ich bin PHP/MySQL Rookie und bastle seit einiger Zeit an einem Script für eine Sponsorenverwaltung für Affiliates. Dazu habe ich zwei Tabellen erstellt. In der Tabelle "sponsors" befindet sich der Ref-Code, die ID und der Name des Sponsors, in der Tabelle "banners" die Daten für das zugehörige Werbemittel, also die Banner URL, Banner-Abmessungen und die ID der "sponsors"-Tabelle zur Zuordnung der Datensätze.
Mein Problem ist: Wenn ich aus der "banners"-Tabelle einen Datensatz lösche, habe ich einen"verwaisten" Datensatz bei den Sponsoren, dem kein Banner zugeordnet ist. Wie kann ich diese Datensätze aufrufen?
Mein letzter Versuch war diese LEFT JOIN Abfrage:
$result = mysql_query("SELECT * FROM sponsors LEFT JOIN banners ON sponsors.id = banners.id");
Damit erhalte ich eigentlich genau die Übersicht die haben möchte, mit allen Einträgen aus beiden Tabellen; korrekt verknüpft. Allerdings fehlt die ID bei den verwaisten Datensätzen!
Soweit logisch, da ja keine Zuordnung (sponsors.id = banners.id) wie oben angegeben stattfinden kann, denn in der Tabelle "banners" gibt es diese ID ja nicht mehr...
Also muß ein anderer Ansatz her, allerdings bin ich nach tagelangem rumprobieren mit meinem Latein am Ende. Ich hoffe ich habe mich verständlich ausgedrückt und es kann mir jemand auf die Sprünge helfen.
Vielen Dank im Voraus,
Carsten