Hallo liebe forum-hilfe Gemeinschaft,
ich habe vor ein paar Wochen mit einem neuen Projekte begonnen und würde nun gerne ein Bewertungssystem einbauen. Bewerten kann man Produkte, welche User in die DB eintragen können. Abgesehen davon will ich auch noch eine Pinnwand für jedes Produkt einführen.
Mit einem Daumen nach oben, soll man ein Produkt mit +1 bewerten können und mit einem Daumen nach unten eben mit -1.
Jedes Produkt erhält eine Pinnwand, wo Leute ein Feedback hinterlassen können (also sowas in die Art Gästebuch).
Das selber zu programmieren ist kein Problem, das Problem liegt bei dem Tabellenaufbau, denn ich muss für das ganze auch noch eine IP Sperre einführen, sprich ein User kann mit seiner IP ein Produkt nur 1mal bewerten.
Ich habe derzeit in meiner Datenbank (MySql) eine Tabelle namens "Produkte". Dort steht unter anderem die "id", der "Titel" und eine "Beschreibung" des Produkts.
Beim eintragen eines Produktes wird es in die Tabelle "Produkte" geschrieben. In diese Tabelle würde noch eine Spalte mit Stimmen hinzukommen, sprich wenn 10 Leute auf "Daumen nach oben" klicken, hat das Produkt die Zahl 10 in der Spalte Stimmen.
Für die IP überprüfung bräucht ich jetzt aber für jedes Produkt eine neue Tabelle, da ich ja alle Ip Adressen, die bereits abgestimmt haben, in die DB eintragen muss, um erneute Bewertungen zu verhindern.
Habe ich nun 1000 Produkte in der Tabelle "Produkte" stehen, brauch ich für jedes einzelne Produkt eine Tabelle - das wären tausend Tabellen - und in jeder dieser Tabellen können wiederum tausende von Ip Adressen stehen. Hinzu kommt noch, dass jedes Produkt ne Pinnwand bekommt. User können ihren Namen + eine Nachricht hinterlassen. Name und Nachricht werden in die Tabelle eingetragen, wo auch die Ip Adressen stehen, die bereits abgestimmt haben.
Ich hab dann also enorm viele Tabellen und diese haben wiederrum enorm viel Inhalt - ich nehme mal an das wirkt sich dann auch sehr stark auf die Ladezeiten aus?
Also was mich interessiert ist, wie man ein Bewertungssystem und eine Pinnwand für jedes Produkt mit möglichst wenig Tabellen hinbekommt.
Ich hoffe ich habe mich verständlich ausgedrückt
Mit freundlichen Grüßen