Deaktivieren von mehr als einem „Gefällt mir“ pro Beitrag
-
12-11-2019 - |
Frage
Ich entwickle eine Webanwendung zum Posten von Fragen in PHP.
Wenn Sie sich anmelden, können Sie auf eine bestimmte Frage klicken. Anschließend wird eine neue Seite geöffnet und es besteht die Möglichkeit dazu wie diese spezielle Frage.Jedes „Gefällt mir“ erhöht die Feldbewertung in einer Tabelle „Fragen“
Was ich jetzt tun möchte, ist, nur ein Like pro Benutzer zu aktivieren.WIE WIRD ES GEMACHT?:/
Das sind meine Tische.
FRAGEN:
qID int(3)
qTitle varchar(200)
userID int(2) users -> userID (foreign key)
qBody text
rating int(2)
BENUTZER
userID int(2) (PRIMARY KEY)
username varchar(40)
fname varchar(40)
lname varchar(40)
password varchar(40)
email varchar(50)
Lösung
Verwenden Sie eine dritte Tabelle:
mag generasacodicetagpre.
Wenn ein Benutzer "eine Frage ist, fügen Sie dieser Tabelle eine Zeile hinzu.Bevor Sie einen "Like", erster Überprüfung, gibt es in diesem Tisch keine passende Zeile.
Andere Tipps
Sie bräuchten eine Tischaufnahme userID
Und qID
mit einer eindeutigen Einschränkung für die beiden Spalten (über einen zusammengesetzten Primärschlüssel).
Du könntest das immer noch behalten rating
Spalte und inkrementieren nach erfolgreicher Einfügung in diese Tabelle (möglicherweise über einen Trigger) aus Leistungsgründen als denormalisiertes Feld.