Petit soucis like/dislike
Posté : 13 sept. 2016, 17:42
Bonjour,
Alors voilà, j'ai créé un système de commentaires sur mon site dans lequel les membres peuvent envoyer un like ou un dislike.
J'affiche les différentes discussions grâce à une boucle.
Sauf que je n'arrive pas à faire mon envoie de formulaire pour les boutons like/dislike. En général je mets les envoies de formulaire en haut de mon fichier mais là ça veut dire que je n'ai pas encore créé la variable contenant l'id_discussion. Du coup le like n'est associé à aucune discussion.
Du coup je suis bloqué. J'ai essayé de mettre l'envoie de mon formulaire de like dans la boucle sauf que ça ne fonctionne pas car ça envoie un like pour chaque discussion.
Du coup je ne sais pas du tout comment faire.
Voici mon code :
Alors voilà, j'ai créé un système de commentaires sur mon site dans lequel les membres peuvent envoyer un like ou un dislike.
J'affiche les différentes discussions grâce à une boucle.
Sauf que je n'arrive pas à faire mon envoie de formulaire pour les boutons like/dislike. En général je mets les envoies de formulaire en haut de mon fichier mais là ça veut dire que je n'ai pas encore créé la variable contenant l'id_discussion. Du coup le like n'est associé à aucune discussion.
Du coup je suis bloqué. J'ai essayé de mettre l'envoie de mon formulaire de like dans la boucle sauf que ça ne fonctionne pas car ça envoie un like pour chaque discussion.
Du coup je ne sais pas du tout comment faire.
Voici mon code :
<?php
if(isset($_POST['envoie_like'])){
$test = $getDiscussion['id_discussion'];
$posteur = $_SESSION['id'];
$date = date('Y-m-d');
$getVoteJoueur = $bdd->query("SELECT * FROM `discussion_like` WHERE id_posteur=$posteur AND id_discussion=$test");
if( $getVoteJoueur->fetch() !== false )
{
// Le visiteur a déjà voté car on a trouvé un enregistrement
}
else
{
$addNewsQuery = $bdd->prepare("INSERT INTO `discussion_like` VALUES ('', ?, ?, ?, ?)");
$addNewsQuery->execute(array($test, $posteur, '1', $date));
}
echo '<div id="infos"><p style="color:green;text-align:center;">Vous venez d\'aimer ce commentaire !</p></div>';
}
?>
<?php
$stmt = $bdd->prepare("SELECT D.id, D.id AS 'id_discussion', D.titre, D.id_posteur, D.contenu, D.genre, DATE_FORMAT(D.date, '%d/%m/%Y à %Hh %imin') AS date, M.id, M.pseudo, M.avatar FROM discussion_sujet D, membres M WHERE D.id_posteur=M.id ORDER BY D.id DESC");
if (!$stmt->execute()) {
echo 'ERREUR';
exit; //pas obligatoire
}
while($getDiscussion = $stmt->fetch()){
?>
<?php
$test = $getDiscussion['id_discussion'];
$getNbreponse = $bdd->query("SELECT COUNT(*) AS 'nb' FROM `discussion_com` WHERE id_sujet=$test");
$getNbrep = $getNbreponse->fetch();
?>
<div class="box_discussion">
<div style="float:left;margin-right:16px;margin-bottom:8px;"><img src="<?=$getDiscussion['avatar']; ?>" width="50" height="50"/><br>
</div>
<b><a href="?mod=profil&id=<?=$getDiscussion['id']; ?>" class="lien_profil"><?=$getDiscussion['pseudo']; ?></a></b>, le <?=$getDiscussion['date']; ?><br>
<div style="line-height:21px;">
<div style="font-weight:800;margin-top:6px;"><?=$getDiscussion['titre']; ?></div>
<div style="margin-top:6px;"><p><?=$getDiscussion['contenu']; ?></p></div>
</div>
<div style="float:right;"><button class="bouton_repondre" name="like"><i class="fa fa-reply" aria-hidden="true"></i> Répondre</button><br><form method="post" action=""><button name="envoie_like" style="background:none;cursor:pointer;"><img src="images/good.gif" width="18" height="18"/></button></form> </div>
</div>
<?php } ?>
Merci à ceux qui pourront m'aider !