un simple oui m'aurait suffit (^_^)
oui c'est ça
Bonjour,
Voila je rencontre un petit problème avec mon code.
J'ai abandonné l'idée de votre tuto, car c'était beaucoup trop technique. Je vais faire un truc tout simple (à dire et pas à faire) :
Il y a un statut sur le mur de X. X clic sur le pouce pour aimer son statut. Alors, à côté de son pouce, un "1" s'affiche pour dire qu'il y a pour l'instant un seul utilisateur qui aime le statut. Une personne peut aimer qu'une seule fois le statut. Cette personne peut enlever le "j'aime" à tout moment pour le remplacer par un dislike ou bien par rien du tout.
Table votes : http://puu.sh/oBx4s/97764bf7e1.png
Table statut : http://puu.sh/oBx89/4fd2b84a62.png
Voiçi le code en question :
Voici les problème que j'ai : Ma bdd avant avoir rafraichis la page mur.php où les statuts et les like/dislike apparaissent : http://puu.sh/oBwUx/89bf092868.png
Après avoir rafraichis la page mur.php : http://puu.sh/oBwWP/02a9a748a9.png
Donc déjà il y a deux nouvelles lignes au lieu d'une seule, la valeur de vote ne change pas et enfin, l'id du statut reste le même malgré le fait que je clic sur 2 differents statuts ...
Avant toute chose je tiens à dire que j'ai essayer par moi même, je poste sur les forum en dernier recours ..
Cordialement
154 réponses
vous avez corriger le liens du dislike dans le formulaire ?
Bonjour, je vais juste jeter un coup d'oeil que votre code complet soit bon.
Bonsoir.
Tu n'as pas compris, Carouge10 t'expliquais de faire un formulaire pour chacune des deux actions, un pour le like et un autre pour le dislike.
Logique qu'il y est 2 insert puisque c'est ce que tu demandes et les $_POST sont vide à coup sur car je pense que le formulaire est faux.
Il faut que je fasse un if qui englobe le tout afin d'annuler le fait qu'il y ai 2 insert ?
A propos du formulaire, le faire comme ça est mieux non ?
Pour le form, c'est mieux avec deux avec ce style la :
Il faut juste faire, je pense, une requête pour liker et une pour dislike, non ?
Sur votre correction du form, il y a simplement le bouton "dislike" non ?
A propos des requêtes, en fait, une personne X peut aimer ou pas aimer le statut. S'il a déjà choisis d'aimer/pas aimer, il peut soit changer d'avis (mettre dislike alors qu'il avait mit like) ou bien en recliquant sur le choix qu'il a fait afin de ni aimer, ni pas aimer.
oui, je vous laisse adapter pour le "like".
ça donne ceci :
A propos du SQL, comment puis-je éviter de faire 2 fois un insert ? Dois-je englober tous les if les uns dans les autres ?
Au temps pour moi alors j'ai corrigé dans le message au dessus ^^
A propos du SQL, comment puis-je éviter de faire 2 fois un insert ? Dois-je englober tous les if les uns dans les autres ?
Si je like puis que j'enlève ce like, cela va toujours ajouter quelques choses à la BDD alors qu'il faudrais le mettre à zéro ou l'enlever, de même pour le dislike
Du coup faire un delete du vote, id_statut et id_utilisateur lorsqu'on veut enlever son like est la meilleure chose à faire ? Du coup dans les else, je devrai faire un delete ? Vous en pensez quoi ?
Je pense oui. A tester.
Je vais essayer, je poste le résultat dés que j'ai finis
J'ai plus l'erreur. Lorsque j'appuie sur like, et ensuite je reclic sur like, il se supprime correctement. Par contre, lorsque je clic sur dislike, la valeur vaut 1 alors quelle doit valoir 0 mais elle se supprime bien lorsque je reclic dessus. L'id statut reste toujours le même lorsque je clic sur 2 statut different également :/
EDIT: Il vaut toujours à 1 car il passe d'abord par le 1er INSERT INTO non ? Il faut que j'englobe tout les if dans un seul if mais que dois-je mettre dedans ?
La c'est un problème d'insert. En relisant vaut insert, vous trouverez la solution.
Erreur tout bête repéré après 2s ! Merci ^^ Le seul problème qu'il reste est celui de l'id_statut. Comment faire pour que l'id_statut s'adapte au statut sur lequel on like/dislike ?
Simple, en ajoutant un input de type hidden dans chaque form avec l'id_statut.
Je ne pense pas que ça soit aussi simple que ça ?
c'est presque ça.
id_statut correspond à l'id de l'élément où l'on peut liker ?
J'ai dû supprimer quelques trucs afin qu'aucune erreur ne s'affiche, tel que
Voici le code que j'ai :
Je n'ai plus les doublons, mais lorsque je clique sur like, voici ce qu'il y a dans ma bdd : http://puu.sh/oBIPV/d2c99284d7.png
Et lorsque je clic sur dislike après avoir appuyé sur like ça reste pareil, même lorsque je supprime la ligne de ma bdd et clic sur dislike, la valeur "vote" vaut toujours 1. Pareil pour l'id_statut, j'ai 2 differents statut sur mon mur, mais l'id reste le même ...
Et lorsqu'enfin je clic une nouvelle fois sur like, rien ne se supprime.
PS: j'ai même essayer ceci mais ça ne marche pas :
$unlike = $dbh->prepare('DELETE FROM votes WHERE vote = "'.$vote.'", id_utilisateur = "'.$getid.'", id_statut = "'.$id_statut.'"');
oui car vous avez préparé les requêtes sans les exécuter.
d'ailleur vous pourriez faire la même avec les "insert"
Pour les executer, j'ai utilisé ceci :
J'ai cette erreur que je ne connais pas : http://puu.sh/oBJGM/717794ee62.png
Mes insert je fais :
ça ne suffit pas ? DOis-je ajouter quelque chose ?
pour l'erreur j'ai besoin du nouveau code
C'est tout ma partie php vous avez besoins de mon html ?
il manque une } pour fermer le 1er if
On ne mets pas , dans les conditions mais un AND
C'est normal pour le 1er if, il se ferme à la toute fin du fichier, pour permettre aux membres et à personne d'autre de voir le contenu du fichier ^^
Où est ce que j'ai mis des virgules au lieu du AND ? :o
Ah d'accord, je pensais que le fichier était complet
Je vais essayer de chercher comment résoudre ça durant la nuit si je m'endors pas avant, ça fais 13h que je suis dessus je pense plutôt faire dodo et m'y remettre de bonheur demain ^^
Même en bindant ça m'affiche toujours la même erreur :
id_statut est une clé étrangére de la table votes ( http://puu.sh/oBOet/3ac48e6952.png )qui fait référence à l'id_statut de la table statut( http://puu.sh/oBOiY/b490fdf91a.png ). Donc ça correspond à l'id du statut sur lequel on like/unlike
Dois-je ajouter du php dans le input ?
Je préfére être le plus prècis possible afin que les personnes puissent le mieux comprendre ^^
Je ne pense epas que ça soit ceci vue que ça me met une erreur ^^
Manque le ; et le echo (version longue ou short tag)
Plus d'erreur mais lorsque j'aime un statut et que je dislike l'autre, ça m'enléve le like du 1er statut et le 2eme statut (que j'ai dislike) ne s'affiche même pas dans ma bdd
Un bon dodo et revoir demain à tête reposé ce qui ce passe. Car là c'est un problème de logique que de code.
Vous avez bien raison, je vais réessayer demain vers les coups de midi ! Bonne nuit à vous !
Merci à vous aussi.
Bonjour ! Après une bonne nuit de sommeil, vous m'avez dis de mettre un echo après le <?= , mais on ne cherche pas à l'afficher non?
oui exact. il est bien inscrit dans le value ?
Mais comme vous m'avez dit hier, j'ai une erreur de logique, c'est bien ça ?
oui, je pense. Vu que ça insère bien une valeur mais pas la bonne donc il faut relire le code et l'analyser pour vérifier qu'il fasse bien ce qu'on lui demande
Nous voulons bien l'id_statut de la table votes ?
oui, c'est ça
Pour moi, ça :
Permet de mettre dans $value toutes les informations de la table votes dans la variable, et il sufit de faire $value['id_statut'] afin de récupérer l'id statut, mais lorsque je fais un var_dump sur ceci, il m'affiche qu'il est nul. Je dois ajouter un if qui permet de voir sur quelle id_statut nous sommes ? ça me semble la solution la plus probable :/
il faudrait vérifier que cette requête ne retourne qu'un enregistrement. Le fetch retourne seulement le 1er.
Il faut tester, avec un select, vous ne risquer pas de modifier vos données
J'ai changé le DELETE. Par contre, lorsque je clic sur Like, et que je reclic sur like voici ce qu'il se passe : http://puu.sh/oCwZ0/eb3436a9b0.png
Je m'y connais pas trop au niveau enregistrement, mais faut il utiliser un count() quelque part afin de voir combien d'enregistrement elle retourne ? je peux utiliser un fetchAll() du coup ?
un fetchall suivi d'un var_dump sur le résultat et vous aurez le nombre d'enregistrement retourné
avec le code, cela pourra m'aider (^_^)
il arrive d'où le $_GET['utilisateur'] car les formulaires like et dislike renvoie du post ?
Si on le test il affiche quelque chose ?
C'est tout le code php de la page. Lorsque je fais un var_dump du $_GET['id_utilisateur'], il m'affiche l'id de l'utilisateur actuellement connecté.
Et voici a quoi ressemble ma page actuellement : http://puu.sh/oCkzH/b6a868a453.png
Donc nous avons $value['vote'] à null, c'est bien ça ?
Quelle est la différence entre $id et $getid ?
Pour le $id et $getid c'est la même chose, je l'avais supprimé dans un autre fichier j'ai oublie de le faire dans celui ci. Avec le fetchAll, j'ai cette erreur : http://puu.sh/oCmnD/4506de7449.png
Et avec fetch(), il est a nul oui.
avec le fetchall, il faut parcourir le résultat car c'est un tableau de tableau.
Par contre s'il renvoi null c'est qu'il n'a pas trouvé de donnée
Je me suis renseigné sur le net, faut il mettre une boucle while pour parcourir le fetchAll ? Et faut t'il mettre quelque chose dans les parenthéses du fetchAll ?
Il faut mettre quelque chose dans les parenthèse suivant ce que vous voulez qu'il retourne (objet, tableau....)
Pour parcourir le résultat il faut soit un while, soit un foreach
Il faut ajouter quelque chose dans les crochets de tab je suppose ?
non cela va crée un tableau
Ces 2 erreurs : http://puu.sh/oCqV2/64f9c3fc92.png
oula, le $vote = $value['vote'], il n'a lieu d'etre.
ll faut laisser le crochets à $tab dans le while pour avoir un tableau.
Enfin cela ne sert à rien puisque qu'on sait de base que la requête ne renvoi rien.
Vérifier dans phpmyadmin si vous avez un vote avec id_utilisateur que vous recherchez
A propos du $vote = $value['vote']; Je m'en servais dans mes DELETE FROM, faut que je les remplaces du coup.
Voilà ma BDD votes après avoir liker 1 statut avec 2 personnes différents (2 statuts differents) : http://puu.sh/oCrOF/84f4851dbc.png
Ceci réponds à votre question ?
oui tout a fait.
La questionque je viens de poser c'est comment vous faites dans la BDD pour différiencer un like d'un dislike ?
Car sauf erreur de ma part, les requêtes sont identique, que se soit l'un ou l'autre ?
Que ça soit like ou dislike, ils ont la même variable qui est vote. Sauf que pour les différenciés, j'utilise le système 0 et 1. 1 Pour like et 0 pour dislike. Serait-il mieux de créer une variable like et dislike ? Et si ces 2 variables sont à 0, ça veut dire que l'utilisateur n'a ni aimé ni dislike?
un peu de mal à suivre à force, lol.
J'essaye de comprendre la logique.
Je me pose la question de l'utiliter de récuper "vote" pour s'en servir d'en le DELETE
Dans la table votes, vote ne que peut être que 0 ou ?
Je ne sais pas si 2 variable like et dislike sont la solution.
Ma table vote :http://puu.sh/oCtCH/398b97a5ab.png
Lorsque vote = 1 ceci veut dire que l'utilisateur a cliquer sur le liker du statut, si le vote = 0 alors il a dislike.
Avez vous une idée de mieux représenter ceci ? ^^
La représentation me parait bien.
Je me pose la question de l'utiliter de récupérer "vote" pour s'en servir d'en le DELETE
Quand on enlève un like/dislike, il suffit d'enlever le vote = 0 (dislike) ou vote = 1 (like) dans la table votes où l'on id_statut = statut de l'id et id_utilisateur = id de l'utilisateur. ça ne serait pas cela, la solution ?
Vous dites d’enlever un like/dislike, ce n'est pas grâce au DELETE qu'on enlève justement ce like/dislike de la table votes ?
Si c'est bien cela. Mais pour l'enlever, je ne vois pas l'intérais de savoir la valeur de "vote" suivant id de l'utilisateur.
On sait qu'elle vaut 1 ou 0 suivant le bouton cliquer.
Donc dans le delete, il suffit de delete simplement le vote et non pas les 2 autres attributs ?
Non, l'inverse (^_^)
Voilà l'idée du delete.
Il fait 2 insert, c'est ça ?
Normalement quand vous cliquer sur "like", $vote ne devrait pas être null
J'ai cette erreur en haut de ma page : http://puu.sh/oCxkC/a5890cdba3.png
Je n'arrive pas à comprendre pourquoi il ne récupérer rien.
La ligne 56 c'est : $vote = $value['vote']; (j'avais cette erreur avant même d'avoir changé les DELETE, j'avais juste oublié de le mettre ^^)
oui je sais bien.
Ce que je ne comprends pas c'est qu'il devrait récupérer quelque chose quand on a liker ou disliker un statut.
Je reposte mon code, peut être que j'ai fais une faute sans le vouloir mais je n'ai rien vue :
On va reprendre point par point.
- La 1ère requête récupère les statuts de l'utilisateur ?
- Le 2ème récupére les votes de l'utilisateur ?
La 1er requête selectionne tout dans statut, et plus tard je selectionne juste l'id_statut.
La 2ème requête selectionne aussi tout dans votes et récupére aussi les votes de l'utilisateur.
Nous sommes d'accord ?
1/ Cela veut dire qu'on a 1 statut par utilisateur ?
2/ Cela veut dire qu'on récupérer tous les votes de l'utilisateur ?
1/ Justement l'utilisateur peut avoir autant de statut qu'il veut
2/ Comment ça récupérer tous les votes de l'utilisateur ? S'il vote sur plusieurs statut il faut bien récup les votes qu'il a fait non ?
Tu te complique la tache je trouve
voici un code fait vite fait pour comprendre
Je n'ai pas compris la variable $rowcount. Je dois faire une requête SQL dedans ? Et pour $vote, je récupére ce qu'il y a dans la bdd vote de la table votes ?
Pour vous répondre Carouge :
1/ Justement l'utilisateur peut avoir autant de statut qu'il veut
2/ Comment ça récupérer tous les votes de l'utilisateur ? S'il vote sur plusieurs statut il faut bien récup les votes qu'il a fait non ?
1/ ok, donc la on récupérer seulement son 1er statut (s'il en a un)
2/ Il ne devrait pas récupérer seulement les votes qu'il a fait (ou non) pour ce statut ?
Sachant qu'on peut voter qu'une fois (mais on peut changer son vote) mais sur differents statuts, il faut pouvoir récupérer ses votes sur tous les statuts
ça d'accord. La nous sommes bien en train de modifier les votes de seulement 1 statut.
Le 1er select est inutile puisque qu'on récupère déjà l'id du statut par $_POST['id_statut'];
Pour le second, nous avons besoin seulement des votes de l'utilisateur pour ce statut (s'il y a)
Donc les problèmes actuel sont :
-Le fait d'aimer 2 fois le statut crée 2 votes differents, alors qu'il doit supprimer le 1er
- Si j'aime un autre statut (id statut : 2), il va me mettre le vote sur l'id statut 1, du coup, ça me donne ceci (aimer le 1er statut, reaimer le 1er statut, aimer le 2eme statut ) : http://puu.sh/oDQnn/48a5b1301e.png
Le mieux serait de reprendre du formulaire et avancer pas à pas avec des var_dump pour vérifier que les données sont ceux qu'on souhaite
Voici le formulaire :
Pour le php :
Par contre j'ai toujours cette erreur : http://puu.sh/oEkX3/8f4eaf0681.png
et rien n'est insérer dans la bdd ?
oui regarder les liens dans le statut pour liker, ils sont identiques
Du coup j'enlève tout ça :
Pour le 2eme SELECT, on a plus que ça ? :
Il faut aussi lui ajouter comme condition l'id du statut
Du coup ça je l'enlève aussi :
Non, c'est pas l'id du statut qu'on veut pour la requête c'est le vote en fonction de l'id de l'utilisateur et de l'id du statut.
Du coup, pour récupérer l'id_staut, je peux faire :
Mais j'ai ces erreur : http://puu.sh/oEIa0/997d297e12.png et http://puu.sh/oEIaW/354b250ecd.png
vue qu'on a supprimer la variable $post, et que je l'utilisé plus loin, ça me dit quelle existe pas ^^
Le formulaire et le php sont sur la même page ?
Oui, voici toute la page mur.php:
Je regarde cela en rentrant.
Pas de soucis ;)
Voilà j'ai refais le code pour mieux le comprendre (avec des commantaires)
J'ai corrigé des défauts graves de syntaxe car le css, js ce met dans la balise "head" et non "header", et il avait des balises fermante de "p" qui se baladait sans être ouverte.
Ce que j'ai fait, gère le faite qu'on ne peut pas "liker" et "disliker" le statut (il n'affiche aucune erreur à si on tente de le faire)
Tout d'abord, je tiens encore à vous remercier pour votre aide, c'est vraiment très sympatique de votre part.
J'ai changé le code, mais voici 2 erreur : http://puu.sh/oEVOa/87cff20a81.png et http://puu.sh/oEVRC/5640a15fd7.png
Voilà une nouvelle correction. Je n'avais pas lu le code en entier et j'avais pris certaines de vos variables que je pensais bonnes
J'ai toujours la 1er erreur et la deuxiéme est pratiquement la même que tout à l'heure : http://puu.sh/oEWwF/d33120d999.png
Je reviens dans 45min, je dois chercher mon frère !
ok, la ligne 23 en remplaçant par :
devrait résoudre en partie notre problème.
Pour ceux qui est des count des like et dislike, là c'est normale car il va faloir faire 2 requêtes dans le while qui va compter les like et les dislike pour le statut.
J'ai remplcé la ligne, il y a encore l'erreur : http://puu.sh/oF12r/dedfaf8d0f.png
Mais l'erreur qui était sur commentaire a disparu.
J'ai compris l'erreur.
Lors du chargement des statuts, on ne connais pas l'id_statut ce qui en sommes est logique.
Il faut encadrer la partie "like/dislike" par un test sur l'existence du $_GET['id_statut']
Effectivement, c'est bien ça. Lorsque j'appuie sur like/dislike, cette erreur apparaît : http://puu.sh/oF3np/37bc88ac4e.png
Il est bien renseigné dans le lien des like et dislike ?
oublier m'a question, la réponse est oui.
On récupère le get id_statut pour le mettre dans $ID et après on utilise une variable $id_statut.
Changer les 2 $ID en $id_statut
Vous avez tout à fait raison, les problèmes ont disparu.
Vue que lorsque je like/dislike un statut rien n'apparaît dans ma bdd, nous devons traiter cette partie là désormais ?
Si ça s'insére bien dans la bdd, juste que la valeur vaut toujours 1
ah oui, normalement ça devrait.
mettez un echo dans chaque if et voyez si le bon s'affiche
J'ai mis echo 1 dans le 1if, echo 2 dans le elseif, echo 3 dans le 2eme if et echo 4 dans le 2eme elseif.
Lorsque je clique sur like, ça m'affiche : 1 c'est OK
sur dislike : 2 , alors que ça doit afficher 3 non ?
Ca ne m'affiche jamais 3 et 4
non car le statut est liker donc on ne peut pas le disliker en même temps.
Donc en fait, si on veut disliker un statut qu'on a liker, il faut d'abord reliker afin d'enlever son like et ensuite de disliker ?
oui, c'est comme cela que j'ai coder.
Après il suffit de tester quand on dislike un statut s'il est liker et à ce moment là, on le dé-like et inversement.
Sinon votre code fonctionne bien ? Aucun problème ?
Rien n'apparaît dans la bdd lorsque je like/dislike.
pas de message d'erreur ?
Donc il ne fait pas d'insert into.
que donne un print_r($like->errorInfo()); après l'execute ?
Aucun message d'erreur.
ça me donne ceci : Array ( [0] => 00000 [1] => [2] => )
je reçois les infos dans ma bdd mais vote vaut toujours 1
Donc la requête est bonne.
Si je modifie le 1er if pour le insert
en
Qu'est ce que cela affiche ?
Vote vaut toujours 1.
Que ça soit lorsque je clique sur like ou dislike, la même chose apparaît :
C:\wamp64\www\projetSite\TOUT\mur2.php:62:string 'INSERT INTO votes (vote,id_utilisateur,id_statut) VALUES (1,20,18)' (length=66)
Array ( [0] => 00000 [1] => [2] => )
comme ceci ?
désormais ça vaut toujours 0
oui
coment ça, ça vaut toujours 0 ?
Je viens de supprimer tous les statuts afin de faire un test.
J'ai crée deux statuts, ce que je vais faire, c'est aimer le 1er statut, ensuite recliquer sur aimer pour le supprimer, cliquer sur dislike, et réappuyé sur dislike. Tout a l'air de fonctionner, regardez par vous mêmes :
- Like : http://puu.sh/oFdHM/a0f105deb9.png
- 2eme appuye du like, je n'ai rien dans ma bdd (supprimer)
- Dislike : http://puu.sh/oFdNV/7077eb96a2.png
- 2eme appuye du dislike, je n'ai rien dans ma bdd (supprimer)
Du coup je dois procéder de la même manière les 3 autres if/elseif ?
( $sql = 'INSERT INTO votes (vote,id_utilisateur,id_statut) VALUES (1,'.$getid.','.$id_statut.')';
$like = $dbh->prepare($sql);
$like->execute(); )
Désormais, la chose qui reste à faire, est d'assigner à like_count et a dislike_count le nombre de like/dislike.
J'avais fais ça, mais ça ne marche pas tout à fait :
Et pour enlever un like :
Mais ça infecte tous les statuts que l'utilisateur à mis ..
ok, je suis content que le système like/dislike fonctionne
vous pourrez l'améliorer de sorte que si je like un statut mais qu'il est déjà disliker alors ça enlèvera le dislike pour ajouter le like et inversement.
oui car on ne sais pas quel statut est affecté. Il manque un where.
par contre c'est compliqué ce que vous faite et ça oblige à faire des requête supplémentaire.
Je vous propose plutôt cette solution (rien n'est obligé)
On récupère tous les like de la table votes en fonction de l'id du statut
Vous voyez mon raisonnement ?
Votre 1er proposition est très interessante, ça serai ainsi plus facile de passer de like à dislike.
Pour la requête SQL, vous comptez le nombre de vote où vote = 1 par rapport à l'id du statut, c'est bien ça ? Du coup on fait la même chose pour vote = 0 c'est ça ? Et nous devons dans ce cas les mettres où précisemment ?
Oui c'est bien ça.
Je ne vais pas vous donner la réponse. ça serait trop facile.
Je vais vous donnez un indice.
Ces requêtes doivent être placer à un endroit du code où nous en avons besoin et où je peux avoir l'id du statut. Sans oublier que cette id statut à besoin de changer pour s'adapter au statut que je suis en train d'afficher.
J'ai essayé à divers endroit, mais selon moi, le mieux approprié serai de le mettre comme ceci :
Mais ça ne marche pas :/
Ah non par pitié pas là. (^_^) Bon je vous l'accorde vous y êtes presque. Nous sommes d'accord qu'elle doit être mise dans cette boucle.
Par contre, on ne mets pas de requêtes au milieu d'un lien.
Voyez plutôt pour faire la requête après le déclaration de la boucle while.
Une fois fait, je vous montrerais comment optimiser ce code.
De plus je ne vous ai donné qu'une partie de ce qu'il y a à faire. Avez-vous oublier comment fait-on une requête pdo ?
Simplement un oublie ne vous en faites pas :D
c'est déjà miuex.
A votre avis, est-il jucidieux de récupérer l'id du statut depuis un GET ?
Par contre, ma requête est mieux sinon avec la forme de la votre, le prépare est inutile.
Pour le GET, comme ceci ? :
Pour la requête, je dois enléver le prepare ? Donc comme ceci :
oui pour le get, non pour le prépare.
Laisser-tomber ce que j'ai dit. Vous comprendrez quand vous étudierez PDO plus en détails
Je laisse comme c'était avant du coup ?
faut quand même mettre le prépare.
après un petit fetch.
Voyons voir si vous aller faire une erreur avec le résultat du fetch. (^_^)
Bon, votre dernière phrase ma faite un peu peur, je me suis dis que je vais faire un truc que je ne pensais pas faire, du coup j'ai fais ça : (je parie que vous allez rire car c'est n'importe quoi :D)
Bon je ne vais rien dire, juste de ne pas oublier le $ devant dbh.
Pas d'erreur sur le fetch. Très bien.
Il reste juste à modifier en conséquence les variables dans liens pour afficher les votes.
Mette-moi ensuite le code complet de la boucle while et je vous explique l'optimisation dessus.
Quand vous parlez des liens, c'est bien ceci :
Et il faut changer le " $affiche_statut['like_count'] " par $compterdislike ... ou bien je dis des bêtises car je passe d'un array à un string ..
oui, il faut changer JUSTE le nom de la variable
oui c'est bon.
j'espère que ça affiche bien les count ?
Afficher moi la boucle while complète et je vais vous expliquez comment optimisez le codes des requêtes
Il y a juste un petit problème, imaginons j'aime mon 1er statut, j'aime aussi le 2eme statut, et que sur le 1er statut j'appuie sur j'aime pour annuler le like, et bien voici ce qui s'affiche : http://puu.sh/oFmcl/04673a40a3.png et dés que je réappuie sur dislike ou like du 1er statut, le count du 2eme statut reviens : http://puu.sh/oFmec/2cddf86b18.png
La boucle while :
Si vous pouvez m'expliquer vote idée cité au dessusn je vous cites : " vous pourrez l'améliorer de sorte que si je like un statut mais qu'il est déjà disliker alors ça enlèvera le dislike pour ajouter le like et inversement. "
La je ne comprends pour ça se passe comme cela.
Avec le système d'echo qu'on a tester tout à l'heure, qu'est ce qu'il affiche. (echo 1 dans le 1er if...)
Mon dée est la suivante.
Quand on like un statut, il faut tester s'il existe un dislike. Si oui, on enlève le dislike et on ajoute un like.
Même après avoir effacer tout mes statut, et que je rafraichis la page, le vote est toujours là (le 1 est toujours afficher en haut)
J'ai fais une video youtube du problème : https://youtu.be/lQyCfvPKT_8 (je vais me coucher, je serai dispo dés demain en fin de mâtiné ^^, bonne nuit à vous)
Je viens de refaire ler test en créant le site chez moi.
Voici la boucle while:
Plus qu'à faire l'idée précédente.
En tout cas, chez moi, ceci marche.
A demain.
Bonjour,
J'ai refais une vidéo expliquant un problème que j'ai remarqué, je ne sais pas si vous l'avez chez vous (j'ai bien repris votre code) :
https://www.youtube.com/watch?v=FfhKmpJq9kA
J'ai mis la 1er requête au dessus du while, je ne sais pas si ça change quelque chose :
Oui c'est le but des requête préparé. Cela évite de préparer X fois la même requête.
Pour le dislike, vous appelez "mur.php", est-ce normale ?
Voici mon skype : djcarouge10
Cela me permettra de faire un teamviewer