MySQL Ausgaben von zwei Datenbanken [Suche Hilfe]

Pik As

Grünschnabel
Zunächst mal hallo an die gesamte Community. ^__^
Bin echt glücklich, dass es diese Seite gibt. Ich konnte schon viele Probleme lösen und weitere Fortschritte machen.
Doch nun stehe ich vor einem großen Problem und soviel ich auch suche... ich finde einfach keine passende Lösung.

Ich möchte mit php Daten aus einer MySQL Datenbank auslesen. Dabei ist in der Datenbank Nr.1 die ID für die Datenbank Nr. 2 gespeichert. Das ganze soll dann in einer Tabelle aufgebaut werden die in etwa so aussehen soll:


P. Name | Größe | Produkt 1 | Produkt 2
================
Mein | 2 | ColorH | ColorF
Seins | 7 | Mandel | Loops

(*grün=DB1, blau=DB2)


Das sind die MySQL Tabellen:

Tabelle 1
Name | Größe | ArtikelID | ArtikelID2
=========================
Mein | 2 | 1 | 2
Seins | 7 | 4 | 12


Tabelle 2
ID | Name | Preis
================
1 | ColorH | 15
2 | ColorF | 10
4 | Mandel | 7
12 | Loops | 2


Meine Frage ist nun, ist dies überhaupt möglich? Wie gesagt ich suche schon eine Weile und bin einfach nicht fündig geworden. Vielleicht suche ich auch einfach nach dem Falschen. Meine Hoffnung ist nun, dass diese freundliche Community von Tutorials.de mir weiter helfen kann.

Da ich mich trotz allem in php und MySQL zurecht finde, würden mir die Funktionen (wenn es denn wirklich funktioniert *hoff*) natürlich reichen. Ich benötige kein fertiges Script.

Ich bin mir nicht sicher ob ich hier im richtigen Bereich gepostet habe, bitte nehmt etwas Rücksicht denn dies ist mein erster Beitrag hier.


Vielen Dank schonmal für alle Hilfen die ich von euch bekomme.

Gruß PikAs


PS: Bei Fragen bin ich gerne bereit weitere Informationen zu geben.
 
Ich bin mir fast sicher, dass das in Relationale Datenbanken gehört.

Egal, ich versuch es trotzdem mal:

Du hast ein Problem, deine Tabellen sind nicht normalisiert. In einer normalisierten Version gäbe es keine zwei Spalten mit Fremdschlüssel, die auf die ID-Spalte zeigen.

Wenn du die Möglichkeit hast, füge an die Tabelle 1 noch eine ID ein. Dann nehm die Artikel-Spalten raus und erstelle eine neue Tabelle, die die ID von Tabelle 1 und die ID von Tabelle 2 beinhaltet. Dann kann man einen schönen JOIN darauf machen.
 
Also vielen Dank schonmal.

Das verstehe ich aber nicht so ganz. Soll ich dann insgesamt 3 Tabellen haben, oder muss die eine dann raus.

Was ist mit?
Code:
SELECT tb1.Name, tb1.Groese, tbl1.ArtikelID, tbl1.ArtikelID2, tb2.ID, tb2.Name
FROM tb1 LEFT JOIN  tb2 ON tb1.ArtikelID = tb2.ID AND tb1.ArtikelID2 = tb2.ID
 
Es sollten dann insgesamt 3 Tabellen ein. Dann wäre es normalisiert.

Was soll damit sein? Bringt es dir, die Ergebnisse, die du wünschst? Wenn ja, dann hast du die Lösung ja selbst gefunden ;-)
 
Damit komm ich zumindest mal weiter. Das Problem ist, dass ich wenn ich die Werte dann in der Tabelle ausgeben möchte, sich die Werte falsch verteilen.

Ich werde jetzt mal das mit den 3 Tabellen versuchen.

Danke bishierhin erstmal.
 

Neue Beiträge

Zurück