Hallo,
gleich noch ein Problem, bei dem mir der logische Ansatz fehlt.
Es gibt eine Tabelle mit Warengruppen (mit Nested Sets):
id (INT, AI)
links (INT)
rechts (INT)
bez (VARCHAR)
und eine Tabelle mit Artikeln, die einer oder mehreren Warengruppe(n) zugeordnet sind:
id (INT, AI)
warengruppen_ids (VARCHAR)
bez (VARCHAR)
"warengruppen_ids" dient als dynamisches Set.
Wenn ein Artikel z. B. den Warengruppen 5, 7 und 9 zugeordnet ist, sieht der DS so aus:
id: 1
warengruppen_ids: 5,7,9
bez: artikel_xyz
Aber das ist klar.
Das Problem besteht nun darin, dass ich die Reihenfolge der Artikel bestimmen möchte. Ich könnte natürlich ein Feld "rang" hinzufügen. Das würde funktionieren, wenn ein Artikel in einer Warengruppe ist. Aber wie löse ich das nun, wenn der Artikel mehreren Warengruppen zugeordnet ist und jede Warengruppe natürlich eine unterschiedliche Anzahl von Artikeln mit verschiedenen Reihenfolgen hat?
Der besagte Artikel "artikel_xyz" soll z. B. in der Warengruppe 5 an 1., in der Warengruppe 7 an 15. und in der Warengruppe 9 an 30. Stelle sein.
Ich habe mir überlegt, eine neue Tabelle zu erstellen, die nur die Reihenfolge beinhaltet. Also z. B.
artikel_id
warengruppen_id
rang
Ich glaube nicht, dass das die beste Lösung ist. Würde sich ein Artikel in 12 Warengruppen befinden und würde ich ihn löschen, müsste ich anschließend alle Artikel dieser 12 Warengruppen neu sortieren bzw. die Reihenfolge der nachfolgenden Artikel um eins reduzieren lassen. Und auch hier hätte ich ein Problem, diese Neusortierung in einer Query abzuwickeln. Würde das gehen?
Fällt jemandem eine schönere Alternative ein?
Schöne Grüße,
plastikbaum
gleich noch ein Problem, bei dem mir der logische Ansatz fehlt.
Es gibt eine Tabelle mit Warengruppen (mit Nested Sets):
id (INT, AI)
links (INT)
rechts (INT)
bez (VARCHAR)
und eine Tabelle mit Artikeln, die einer oder mehreren Warengruppe(n) zugeordnet sind:
id (INT, AI)
warengruppen_ids (VARCHAR)
bez (VARCHAR)
"warengruppen_ids" dient als dynamisches Set.
Wenn ein Artikel z. B. den Warengruppen 5, 7 und 9 zugeordnet ist, sieht der DS so aus:
id: 1
warengruppen_ids: 5,7,9
bez: artikel_xyz
Aber das ist klar.
Das Problem besteht nun darin, dass ich die Reihenfolge der Artikel bestimmen möchte. Ich könnte natürlich ein Feld "rang" hinzufügen. Das würde funktionieren, wenn ein Artikel in einer Warengruppe ist. Aber wie löse ich das nun, wenn der Artikel mehreren Warengruppen zugeordnet ist und jede Warengruppe natürlich eine unterschiedliche Anzahl von Artikeln mit verschiedenen Reihenfolgen hat?
Der besagte Artikel "artikel_xyz" soll z. B. in der Warengruppe 5 an 1., in der Warengruppe 7 an 15. und in der Warengruppe 9 an 30. Stelle sein.
Ich habe mir überlegt, eine neue Tabelle zu erstellen, die nur die Reihenfolge beinhaltet. Also z. B.
artikel_id
warengruppen_id
rang
Ich glaube nicht, dass das die beste Lösung ist. Würde sich ein Artikel in 12 Warengruppen befinden und würde ich ihn löschen, müsste ich anschließend alle Artikel dieser 12 Warengruppen neu sortieren bzw. die Reihenfolge der nachfolgenden Artikel um eins reduzieren lassen. Und auch hier hätte ich ein Problem, diese Neusortierung in einer Query abzuwickeln. Würde das gehen?
Fällt jemandem eine schönere Alternative ein?
Schöne Grüße,
plastikbaum
Kommentar