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)
Était-ce utile?

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.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top