Hallo,
ich komme leider hier gar nicht weiter. Vielleicht kann mir jdm einen Tipp geben.
In meiner DB gibt es eine Tabelle "Artikel" eine Tabelle "Attribute" wie zB Farbe und eine weitere Tabelle mit den "Attributausprägungen" wie zB "rot".
Als Beispiel habe ich einen Artikel XYZ mit den Attributen "Farbe", "Größe" und "Geschlecht". Und in der Tabelle Attributausprägungen dann über eine ID zugeordnet die Ausprägungen "Rot", "XL" und "Frau".
Mein Select (stark vereinfacht):
SELECT
art.id AS art_id,
objat.value,
objat.attrid,
FROM
artikel as art
LEFT JOIN objectattribute as objat
ON (artikel.id = objat.artikelid)
WHERE
art.active = 1
GROUP BY
art.id
Danach kommt das ganze in ein Array:
$sqlrow = mysql_fetch_array($sql_query)
$Liste[] = array(
'ArtikelID' => $sqlrow['art_id'],
...
...
...
);
Das ganze klappt auch soweit. ABER: Werte wie zb die ID sind ja einmalig. Diese kann ich in der Liste später eindeutig zuordnen. Was ich nicht kann: die Attribut-Ausprägungen einem Artikel eindeutig zuweisen/auswerten.
Wenn ich zB bei SELECT WHERE objat.attrid = 'Farbe' einfüge, kann ich später in der Liste über abjat.value auf diese Attributausprägungen zugreifen. Aber wie komme ich an alle Attribute und kann diese in der Liste später trennen?
Ich würde also so etwas benötigen (was nicht geht):
$Liste[] = array(
'Farbe' => $sql_row['value'] WHERE objat.attrid = 'Farbe',
'Größe' => $sqlrow['value'] WHERE objat.attrid = 'Größe',
'Geschlecht' => $sqlrow['value'] WHERE objat.attrid = 'Geschlecht',
);
Für Tipps bin ich dankbar
Danke und Gruß
ich komme leider hier gar nicht weiter. Vielleicht kann mir jdm einen Tipp geben.
In meiner DB gibt es eine Tabelle "Artikel" eine Tabelle "Attribute" wie zB Farbe und eine weitere Tabelle mit den "Attributausprägungen" wie zB "rot".
Als Beispiel habe ich einen Artikel XYZ mit den Attributen "Farbe", "Größe" und "Geschlecht". Und in der Tabelle Attributausprägungen dann über eine ID zugeordnet die Ausprägungen "Rot", "XL" und "Frau".
Mein Select (stark vereinfacht):
SELECT
art.id AS art_id,
objat.value,
objat.attrid,
FROM
artikel as art
LEFT JOIN objectattribute as objat
ON (artikel.id = objat.artikelid)
WHERE
art.active = 1
GROUP BY
art.id
Danach kommt das ganze in ein Array:
$sqlrow = mysql_fetch_array($sql_query)
$Liste[] = array(
'ArtikelID' => $sqlrow['art_id'],
...
...
...
);
Das ganze klappt auch soweit. ABER: Werte wie zb die ID sind ja einmalig. Diese kann ich in der Liste später eindeutig zuordnen. Was ich nicht kann: die Attribut-Ausprägungen einem Artikel eindeutig zuweisen/auswerten.
Wenn ich zB bei SELECT WHERE objat.attrid = 'Farbe' einfüge, kann ich später in der Liste über abjat.value auf diese Attributausprägungen zugreifen. Aber wie komme ich an alle Attribute und kann diese in der Liste später trennen?
Ich würde also so etwas benötigen (was nicht geht):
$Liste[] = array(
'Farbe' => $sql_row['value'] WHERE objat.attrid = 'Farbe',
'Größe' => $sqlrow['value'] WHERE objat.attrid = 'Größe',
'Geschlecht' => $sqlrow['value'] WHERE objat.attrid = 'Geschlecht',
);
Für Tipps bin ich dankbar
Danke und Gruß
Kommentar