désactiver plus d'un «comme» par message
-
12-11-2019 - |
Question
Je développe une question publiant une application Web dans PHP.
Lorsque vous vous connectez, vous pouvez cliquer sur une question spécifique, puis une nouvelle page est ouverte et il y a une option pour Comme cette question spécifique. Chaque indice "comme" sur le terrain dans un tableau "Questions"
Maintenant, ce que je veux faire, c'est en activer un seul comme par utilisateur. COMMENT EST-IL FAIT? : /
Ce sont mes tables.
DES QUESTIONS:
qID int(3)
qTitle varchar(200)
userID int(2) users -> userID (foreign key)
qBody text
rating int(2)
UTILISATEURS
userID int(2) (PRIMARY KEY)
username varchar(40)
fname varchar(40)
lname varchar(40)
password varchar(40)
email varchar(50)
La solution
Utilisez une troisième table:
AIME
userID int(2)
qID int(2)
Lorsqu'un utilisateur «est une question, ajoutez une ligne à ce tableau. Avant d'autoriser un «like», vérifiez d'abord qu'il n'y a pas de ligne correspondante dans ce tableau.
Autres conseils
Vous auriez besoin d'un enregistrement de table userID
et qID
avec une contrainte unique sur les 2 colonnes (via une clé primaire composite).
Vous pouvez toujours garder le rating
Colonne et incrément après insert réussi à ce tableau (peut-être via un déclencheur) comme champ dénormalisé pour des raisons de performance.