Hallo,
schreibe gerade an einem kleinen Script, welches primär Lizenzen verwalten soll. Es gibt zwei MySQL-Tabellen. Eine mit den Kunden welche auch die dazugehörige Lizenznummer beinhaltet, die andere mit den Produkten.
Ich möchte dem Kunden die Möglichkeit zur Verfügung stellen, sein erworbenes Produkt jederzeit herunter zu laden. Der Kunde gibt also die Lizenznummer ein, und es sollen ihm alle erworbenen Produkte, die er auch herunterladen kann, angezeigt werden.
Das Problem:
Ich bin mir nicht sicher, wie ich dem Kunden zuordnen soll, dass er mehrere Produkte erworben hat. Im Moment habe ich in der Tabelle der Kunden eine Spalte "produkte", in welcher alle Produkte stehen, die der Kunde erworben hat. Da steht u.a. auch die Tabellen-ID des Produktes. Wenn ich nun eine Abfrage starte, z.B.
SELECT * FROM `produkte` WHERE `produkt_name` LIKE \"%".$array[produkte]."%\" ...
und in [produkte] mehrere Einträge stehen, schlägt es deshalb schon fehl, weil nicht alle Produkte abgefragt werden.
Meine zweite Überlegung war, in der Tabelle "produkte" einfach für jeden Kunden eine Spalte zu erstellen und darin einfach einen Wert true bzw. false abzulegen. Danach kann ich relativ einfach abfragen ob der Kunden das Produkt erworben hat oder nicht. Dann bekommt diese Tabelle jedoch sehr viele Spalten, wird unübersichtlich und ich bin mir nicht sicher, ob das so üblich ist und es nicht doch eine effektivere Lösung gibt.
Für Antworten bin ich dankbar.
schreibe gerade an einem kleinen Script, welches primär Lizenzen verwalten soll. Es gibt zwei MySQL-Tabellen. Eine mit den Kunden welche auch die dazugehörige Lizenznummer beinhaltet, die andere mit den Produkten.
Ich möchte dem Kunden die Möglichkeit zur Verfügung stellen, sein erworbenes Produkt jederzeit herunter zu laden. Der Kunde gibt also die Lizenznummer ein, und es sollen ihm alle erworbenen Produkte, die er auch herunterladen kann, angezeigt werden.
Das Problem:
Ich bin mir nicht sicher, wie ich dem Kunden zuordnen soll, dass er mehrere Produkte erworben hat. Im Moment habe ich in der Tabelle der Kunden eine Spalte "produkte", in welcher alle Produkte stehen, die der Kunde erworben hat. Da steht u.a. auch die Tabellen-ID des Produktes. Wenn ich nun eine Abfrage starte, z.B.
SELECT * FROM `produkte` WHERE `produkt_name` LIKE \"%".$array[produkte]."%\" ...
und in [produkte] mehrere Einträge stehen, schlägt es deshalb schon fehl, weil nicht alle Produkte abgefragt werden.
Meine zweite Überlegung war, in der Tabelle "produkte" einfach für jeden Kunden eine Spalte zu erstellen und darin einfach einen Wert true bzw. false abzulegen. Danach kann ich relativ einfach abfragen ob der Kunden das Produkt erworben hat oder nicht. Dann bekommt diese Tabelle jedoch sehr viele Spalten, wird unübersichtlich und ich bin mir nicht sicher, ob das so üblich ist und es nicht doch eine effektivere Lösung gibt.
Für Antworten bin ich dankbar.