Problème like/dislike

Par Aranok, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

$id = intval($_GET['id_utilisateur']); $req = $dbh->prepare('SELECT * FROM statut WHERE id_statut = ?'); $req->execute(array($id)); $post = $req->fetch(); <div class="vote_btns"> <button class="vote_btn vote_like"><i class="material-icons">thumb_up</i> <?php echo $post['like_count']; ?></button> <button class="vote_btn vote_dislike"><i class="material-icons">thumb_down</i> <?php echo $post['dislike_count']; ?></button> </div>

J'essaye de faire en sorte que le nombre de j'aime/j'aime pas s'affiche, mais rien ne s'affiche, j'ai fais un wardump sur les 2 variables like_count/dislike_count ça m'affiche null :/ ( http://puu.sh/oB8nI/699926b523.png )

Voiçi ma bdd statut (dans la vidéo il le fait sur des articles) : http://puu.sh/oB8lq/583a4c4e02.png

Cordialement

9 réponses

Carouge10, il y a 10 ans

Bonjour,
ça ne serait pas plutot id_utilisateur dans le requête ?

Aranok, il y a 10 ans

Rolalala ! C'était bien ça ... Je te remercie 1000 fois mais j'avoue que là j'étais vraiment idiot ! :D

Carouge10, il y a 10 ans

Ce sont des choses qui arrivent quand on est a fond dans son code. Il est parfois difficile de prendre de recul et de se dire qu'est ce que veux, comment je fais et est-ce que le résulte est ce que je veux.
Bon courage et plus qu'à mettre le sujet en résolu.

Aranok, il y a 10 ans

J'ai à nouveau un problème sur ce système mais je l'ai marqué comme résolu et faire un topic pour chaque problème va spammer le forum du coup je le poste ici :s

Le problème est le suivant : http://puu.sh/oBeUE/d077eb717b.png

Mon code : vote.php

<?php class Vote{ private $dbh; // en privée car on va pas en avoir besoin à l'extèrieur public function __construct(PDO $dbh) { $this->pdo = $dbh; } public function like($statut,$statut_id,$id_utilisateur) { $req = $this->pdo->prepare('SELECT * FROM $statut WHERE id_utilisateur = ?'); $req->execute(array($statut_id)); if($req->rowCount() > 0) { } else { throw new Exception('Impossible de voter pour un enregistrement qui n\'existe pas'); } } public function dislike($statut,$statut_id,$id_utilisateur) { }

like.php

<?php session_start(); $bdd = 'mysql:host=localhost;dbname=sitesocialnetwork'; $user = 'root'; $password2 = ''; try{ $dbh = new PDO($bdd, $user,$password2, array(PDO::ATTR_ERRMODE => PDO::ERRMODE_WARNING)); } catch (PDOException $e) { echo 'Echec de la connexion : ' . $e->getMessage(); exit; } if($_SERVER['REQUEST_METHOD'] != 'POST') // bien vérifier qu'on utilise la méthode POST (inspecter élément, network, cliquer sur j'aime rafraichir la page vient le lien et regarder status --> 403 forbidden) { http_response_code(403); die(); } $_GET['id_statut'] = 2000; require 'class/Vote.php'; $vote = new Vote($dbh); if($_GET['vote'] == 1) { $vote->like('statut', $_GET['statut_id'], $_SESSION['id_utilisateur']); } else { $vote->dislike('statut', $_GET['statut_id'], $_SESSION['id_utilisateur']); } echo "salut la planete"; ?>

votes de ma bdd : http://puu.sh/oBf45/be5bec7b7a.png
statut de ma bdd : http://puu.sh/oBf8g/281b014310.png

J'ai suivi comme il le faut le tuto pourtant :/

Cordialement

Carouge10, il y a 10 ans

Il manque le "statud_id" dans le $_GET.

Aranok, il y a 10 ans

J'ai toujours cette erreur : http://puu.sh/oBhkC/78564409ea.png

"La table 'sitesocialnetwork.$statut' n'existe pas" alors que la table statut existe belle et bien dans ma bdd

Carouge10, il y a 10 ans

Attention au " et ' dans les requêtes.
La première permet d'insérer directement des variables $toto alors que la deuxième, non....

Aranok, il y a 10 ans

Encore une erreure toute bête ! Je te reremercie ! Si jamais j'ai d'autre problème (ce que j'espère pas biensûr), je les mettrai ici

Carouge10, il y a 10 ans

Je te le déconseil car cela ne correspondrait pas au sujet de départ.
Commencez déjà par rechercher par vous même. Et sinon ouvrez un nouveau sujet.