Bewertungssystem SQLiteSpy

Soulcraft

Mitglied
Hallo ^^

Und zwar geht es darum, dass ich gerne ein Bewertungssystem auf die Beine stellen würde.
Ich stelle mir das so vor, dass jeder User einmal bewerten darf bzw. er es schon ändern kann aber seine vorherige Bewertung dadurch gelöscht wird. Das Ganze soll mit radioButtons umgesetzt werden (1-5).
Nun hab ich mal kurz überlegt und mir ist aufgefallen, dass das doch etwas schwieriger ist (für mich).

Es sollte das arithmetische Mittel berechnet werden von allen Werten aus der DB.
Ich weiß aber nicht wie ich das alles abspeichern soll. Wenn User a bewertet und User b auch, sollen für den Artikel auch die beiden Bewertungen auszulesen sein.
Es soll jede Bewertung in der DB hinterlegt werden.

Das war so das Gröbste.

Falls mir jemand helfen könnte wäre ich echt dankbar.

Danke und MfG
 

Soulcraft

Mitglied
Nein ich suche keinen fertigen Code.

Mein größtes Problem ist, dass ich keine Ahnung habe wie ich die Sache mit der Datenbank auf die Reihe kriegen soll.
Wenn ein Benutzer etwas bewertet soll dies gespeichert werden. Aber wie geht das? Ich kann doch nicht soviele Spalten erstellen wie ich Artikel usw. in der DB habe nur um darin die mögliche Bewertung eines jeden Nutzers abzuspeichern.
 

Tobse

Top Contributor
Doch, das kannst du. Aber wie du schon erkannt hast: das wäre völliger Schwachsinn.

Was du brauchst ist einer n-zu-m Verknüpfung vonr Artikeln zu den Usern. Ein Artikel kann von n Usern bewertet werden. Ein User kann M Artikel bewerten. Google wird dir die Details verraten :)
 
Zuletzt bearbeitet:

Soulcraft

Mitglied
Danke, das müsste reichen ^^
Wusste nicht wie ich das Ganze angehen sollte.
Aber so sollte es klappen (hoffentlich).
Bin zwar nicht der Beste was joins angeht aber sollte schon klappen.
 

Tobse

Top Contributor
Das ist kein Komplizierter JOIN. n-zu-m Verknüpfungen gibt es in fast jeder Anwendung und daher haufentweise Tutorials. In diesem Fall musst du auch nirgends n-zu-m joinen sondern immer nur 1-zu-n. (Alle Bewertungen eines Artikels und alle Bewertungen eines users).

P.S.: Lass mich dir gleich einen Tipp bzgl. Datenintegrität geben: Wenn du schon weisst, was ein Index und ein Foreign Key ist, nutze das. Dann sparst du dir beim Bewertungsvorgang mit INSERT ... ON DUPLICATE KEY UPDATE ... 2 Queries (=> mehr Performance).
 
Zuletzt bearbeitet:

Neue Themen


Oben