• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Beziehung zwischen drei Tabellen herstellen?

Dsimon24

Mitglied
Hallo zusammen,

ich stehe gerade in Sachen 'Datenbanken' ein wenig auf dem Schlauch...

Ich habe drei Tabellen:
1. Kunde
2. Produkt
3. Bestellung

Tabelle 1 beinhaltet ausschließlich alle Kunden mit einer id.
Tabelle 2 beinhaltet ausschließlich alle Produkte mit einer Id.
Bei Tabelle 3 habe ich als Fremdschlüssel die Id vor Kunden sowie
die ID der Produkte und möchte nun mittels einer SQL-Anweisung
die Kunden mit deren Bestellungen über Tabelle 3 (KundenID /
ProduktID) in Verbindung bringen.

Kann mir einer ein wenig helfen, wie ich dabei vorgehen müsste?
Leider kann ich in Google nichts finden, da mir leider auch nicht
so recht klar ist, wonach ich hier in diesem Falle googeln muss.

VG, David
 
Werbung:
SELECT ...
FROM tabelle3
JOIN tabelle1 ON tabelle3.t1id = tabelle1.id
JOIN tabelle2 ON tabelle3.t2id = tabelle2.id
WHERE ...

Grüße
 
Oder einfach
Code:
$abfrage = "SELECT * FROM `Bestellungen` WHERE `id_kunde`='".$id_kunde."'";
Das würde doch schon alle Daten der Bestellungen eines Kunden rauslesen, somit auch die IDs der gekauften Artikel. Oder besteht Dein Problem darin, dass es lediglich die IDs wären (also 43, 56, 78) und nicht die Bezeichnungen der Artikel (Buch, CD, Bügeleisen etc.) ?

Dafür benutze ich meine Funktion "gesuchter_wert()":
Code:
function gesuchter_wert($id,$tabelle,$gesuchte_spalte) {
    $mysqli=MyDatabase();
        if ($id!=0) {
            $abfrage="SELECT `$gesuchte_spalte` FROM `$tabelle` WHERE `ID`=$id";
            if ($result=$mysqli->query($abfrage)) {
                while ($row=$result->fetch_object()) {
                    $gesuchter_wert=$row->$gesuchte_spalte;
                }
            }      
        }
        else {
            $gesuchter_wert="N.N.";
        }
    if (!isset($gesuchter_wert)) {$gesuchter_wert=0;}
    return $gesuchter_wert;
}

Wenn ich also in der Variable $id_kunde die Kundennummer gespeichert habe, würde es insg. so aussehen:

Code:
echo 'Der Kunde Nr.'.$id_kunde.' hat folgende Bestellungen getätigt:';

$abfrage = "SELECT * FROM `Bestellungen` WHERE `id_kunde`='".$id_kunde."'";
if ($result = $mysqli->query($abfrage)) {
    while($row = $result->fetch_object()) {
        $id_artikel = $row->id_artikel;
        $artikel = gesuchter_wert($id_artikel, "tabelle_artikel", "artikelbezeichnung");
        echo $artikelbezeichnung."<br>",
    }
}
 
Werbung:
Zurück
Oben