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)
War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top