Einzelnen Beitrag anzeigen
  #1 (permalink)  
Alt 13-03-2015, 09:52
Koda
 Registrierter Benutzer
Links : Onlinestatus : Koda ist offline
Registriert seit: Aug 2010
Beiträge: 105
Koda befindet sich auf einem aufstrebenden Ast
Standard ID über mehrere Tabellen auslesen

Guten Morgen

Vielleicht hat einer von euch eine Idee wie ich das mit PHP oder sogar direkt mit MySQL erledigen könnte. Ich habe schon mit Inner Join versucht aber ohne erfolg was fast klar war

Ich habe folgende Tabellen:
shop_cart
Code:
cartID | productID | userID | ...
    1   |     1     |    1
    2   |     2     |    1
    3   |     1     |    2
    4   |     1     |    1
Dann eine für die Attribute product_attribute
Code:
attributeID | productID | attribute
      1      |     1     |    Color
      2      |     1     |    Name
Und eine für die Bestellungen mit den Attributen shop_cart_attribute

Code:
ID | cartID | attributeID | productID | value
1  |   1    |      1      |      1    |   red
2  |   1    |      2      |      1    |   Tina
3  |   3    |      1      |      1    |   blue
4  |   3    |      2      |      1    |   Tina
5  |   4    |      1      |      1    |   blue
6  |   4    |      2      |      1    |   Nina
Nun habe ich in PHP folgende Informationen:

PHP-Code:
$productID 1$userID 1;
$productAttributeArray[0]['attributeID'] = 1;
$productAttributeArray[0]['value'] = red;
$productAttributeArray[1]['attributeID'] = 2;
$productAttributeArray[1]['value'] = Nina
Gerne möchte ich nun die cartID herausfinden, welche komplett mit den Werten in der Datenbank übereinstimmt. In diesem Fall wäre es die ID 4. Versuch habe ich schon sowas:

Code:
SELECT  c.cartID FROM shop_cart c INNER JOIN  shop_cart_attribute a ON (c.cartID=a.cartID) WHERE (a.attributeID = 1  AND a.value = 'red') AND  (a.attributeID = 2 AND a.value = 'Nina')
Dies ist leer da er ja nur Zeile für Zeile prüft.

Vielen Dank schon im Voraus für jede Hilfe.

Gruss

Koda

Geändert von Koda (13-03-2015 um 10:00 Uhr)
Mit Zitat antworten