Artikelnr einer bestimmten Variante ermitteln

Hallo zusammen,

ich möchte gerne über eine Ajax-Abfrage die ArtikelNr. einer bestimmten Variante ermitteln.
Dazu übergebe ich die einzelnen Ids der Variante an die Ajax-Funktion. Jetzt weiss ich aber nicht so genau, wie ich die SQL-Syntax aufbauen muss, um die Artikelnummer zu erhalten.

 

Gruß

Heiko

Wie sehen denn deine bisherigen Versuche aus? Die Artikelnummer steht einfach in der Tabelle “s_articles_details”.

Servus,

es geht um einen eigene Konfigurator den ich gerade bastel. Der Konfiguraor wird auf der Produktdetialseite aufgerufen und erscheint in einer Lightbox.
Der Anwender wählt also in den Auswahlfeldern die entsprechenden Varianten aus, dann klickt er auf “In den Warenkorb” und jetzt muss ich irgendwie die Artikelnummer der Variante ermitteln.
 

Dazu werden die IDs der ausgewählten Varianten an eine Ajax-Funktion übergeben und es soll dann die Artikelnummer der Variante zurück gegeben werden.

Ich hatte folgende Idee:

Die Haupt-Artikelnummer steht im data-Attribut “main-ordernumber”. Die wollte ich auslesen und zusammen mit den Varianten an die Ajax-Funktion übergeben.
Danach lese ich den Datensatz aus der “s_articles_details” - Tabelle aus und hole mir hierüber die articleID.
Und danach wollte ich mir eine SQL-Abfrage zusammen basteln und über die articleID und den VariantenIds die Artikelnummer der Variante holen.

Das war jetzt meine Überlegung. Entweder ich greife aktuell auf die falschen Felder zu oder die SQL-Abfrage ist falsch.

So sieht der Code aktuell aus:

$ordernumber='SW10309';
$sql='SELECT articleID FROM s_articles_details WHERE ordernumber=:onumber';
$result = Shopware()->Db()->fetchRow($sql,[':onumber' => $ordernumber]);

if ($result){
   $sql='SELECT details.ordernumber FROM s_articles_details details INNER JOIN s_article_configurator_option_relations conf ON conf.article_id=details.id WHERE articleID='.$result['articleID'].' AND option_id=82 AND option_id=84 AND option_id=85 GROUP BY details.articleID';

}

Die option_ids existieren auch. Er liefert mir aber ein leeres Ergebnis zurück. Vielleicht habe ich auch einen Denkfehler bei der Inner Join - Abfrage.

Gruß Heiko