Likes/Dislikes

Julian

Julian Le 26 janvier 2017 à 17:33 (Édité le 25 janvier 2019 à 17:53)

Bonjour,

Je souhaite créer un système de like et de dislike en php :

Je voudrais que quand je clique sur le mot "J'aime" cela ajoute un j'aime à la page, et un utilisateur ne peut cliquer qu'une seul fois ! (J'ai pensé enregistrer son ip) 

J'ai dans ma bdd :

- Table pages :
- id
- nom_page
- likes
- dislikes


Chaque pages à un id attribué !

Donc je souhaite que sur une ligne de ma bdd, il y ai l'id de la page, le nom, et le nombre de likes et de dislikes, comment faire ?

Surtout, comment incrémenter ce champ likes ?

Quel code me faut-il ?

Merci de votre aide !
Balatharas

Balatharas Le 26 janvier 2017 à 18:00

Salut
C'est quand même dingue que tu arrives sur ce forum sans savoir que son créateur à posté des tutos php sur YouTube... Clairement, tu n'a pas cherché du tout sur Google. TU tapes like/dislike primfx sur google, et tu trouveras ton bonheur. Peut-être que son tuto ne présente pas excatement ce que tu veux faire ? Précise alors que tu as vu cette vidéo, et que tu souhaite un résultat différent de PrimFX.
Julian

Julian Le 26 janvier 2017 à 18:03

Ah oui, j'ai regardé, désolé, j'ai presque résolu mon problème !

Juste, comment faire pour que quand un utilisateur like, son ip soit en bdd, et quand il dislike, son ip soit supprimer ?

De manière à ce qu'il ne puisse liker qu'une fois.
Balatharas

Balatharas Le 26 janvier 2017 à 19:14

Bah dans ta table like, tu rajoute une colonne "ip_likeur" et tu rajoute ce champ dans ton insertion
Et pour le dislike, pourquoi vouloir supprimer l'ip ?
Julian

Julian Le 26 janvier 2017 à 19:31

Excuse moi, ce ne sont pas des tables, mais des champs qui font parti de ma table pages...

Comment faire pour qu'un utilisateur ne vote qu'une fois ?
TheFlameflo

TheFlameflo Le 27 janvier 2017 à 01:39

Salut !

Si tu veux faire en sorte qu'on ne puisse "liker" qu'une seule fois, il va falloir créer une table "like" qui contiendra en gros :
  • id de l'article liké
  • ip
  • tout autre information que tu souhaites ajouter (pays, date, etc)
J'ai aussi vu que tu veux avoir une table dislike, tu peux sois faire une deuxième table avec les même caractéristiques ou juste ajouter un champ "option" qui contiendra "like" si c'est un like et "dislike" si c'est un dislike.

J'imagine que tu veux aussi pouvoir compter les likes/dislikes, je te laisse t'informer sur COUNT() et rowCount(), ça devrait t'aider ! 😀

Ensuite, quand quelqu'un veut liker, tu vérifies si son IP existe dans la base de données et voilà ! 😀

J'espère t'avoir aidé !
Julian

Julian Le 27 janvier 2017 à 07:22

Bonjour,

Merci beaucoup pour cette réponse, seulement je n'ai pas procédé de cette manière, j'ai UPDATE mon champ "likes" chaque fois qu'un utilisateur clique dessus.

Table pages :
- id
- ip
- nom_page
 - likes
- dislikes

Si il y a 20 "likes" sur la page avec id 2, le champ "likes" sur la ligne id 2 sera incrémenté !

Merci de ton aide !
Vous devez être connecté pour poster une réponse. Se connecter ou Créer un compte