Version complète: sur le forum Webmaster Hub : systeme de vote en PHP
Webmaster Hub > Création et exploitation de Sites Internet > Les langages du Net > PHP
TYBMHI
Bonjour à tous,

J'aimerais savoir comment est il possible de faire est système de vote du type de http://www.viedemerde.fr/ ?

En fait sur chaque commentaire que l'internaute aura posté et que je fais afficher grâce à une boucle php (while) je voudrais que les autres internautes puissent choisir entre :

ton voyage était génial (nombre de vote) -- Ton voyage était nul (nombre de vote)

Alors je sais que ça ressemble à du plagia mais je trouve ce système de vote franchement bien.

merci d'avance
gorderson
Bonjour !

C'est plutot un topsites que vous cherchez car ce n'est pas un sondage si vous voyez ce que je veux dire ?

Cherchez un script "Top" ou "Topsites"

Cordialement !
TYBMHI
Merci de votre réponse.

Cependant j'ai du mal m'expliquer car je ne veux pas du tout un topsite. Je veux un vrai système de vote. L'url que j'ai donné est un site sur lequel on trouve le système de vote que j'aimerais "recopier".
TYBMHI
Bonjour,

j'essaie de faire un système de vote (sur article) avec deux choix possibles : bien ou pas bien.

J'ai fait une table avec les champs suivant :
id, id de l'article, bien, pas_bien.

L'internaute coche bien ou pas bien et sa réponse est enregistrée dans la table. Mais chaque vote crée une nouvelle ligne. Ce qui n'est pas pratique. Moi je voudrais que chaque article n'occupe qu'une seule ligne dans la table.

Ma question est comment faire en sorte que les champs "bien" ou "pas bien" augmente de 1 par rapport à l'id de l'article ?

Merci d'avance.
Wolf18
Bonsoir,

personnellement je te recommande d'insérer une ligne par vote (pour des raisons de fiabilité/sécurité en fait) mais c'est vrai qu'une ligne par article c'est plus simple.

Pour le vote tu devrais donc avoir une table comme celle-ci :
id,votebien,votepasbien (en admettant que le champ id de cette table correspondra au champ id de la table des articles)

Pour modifier les colonnes votebien et votepasbien tu peux récupérer leur valeur avec une requête SQL avant modification de la table, et plus précisémment de la ligne qui concerne l'article selectionné :

CODE
$recherche_votes = mysql_query("SELECT votebien,votepasbien FROM table_votes WHERE id='id_article'");
$info_votes = mysql_fetch_array($recherche_votes);

if($_POST['vote'] == "votebien")
{ // modification du nombre de votebien
  $votes_bien = $info_votes['votebien']++;
  // insertion
  mysql_query("UPDATE table_votes SET votebien='$votes_bien' WHERE id='id_article'");
}

if($_POST['vote'] == "votepasbien")
{ // modification du nombre de votepasbien
  $votes_pasbien = $info_votes['votepasbien']++;
  // insertion
  mysql_query("UPDATE table_votes SET votepasbien='$votes_pasbien' WHERE id='id_article'");
}


Le code n'est pas parfait mais j'espère que tu en auras compris le principe.
TYBMHI
Merci, c'est génial. Ca fonctionne nickel ! Merci encore
Anonymus
Bonjour,

A noter qu'il est possible d'appeler un champ directement en sql pour l'incrémenter. Ca donne ca :
CODE
mysql_query("UPDATE table_votes SET votebien=votebien+1 WHERE id='id_article'");

et qui a le net avantage de ne pas avoir à passer par php smile.gif
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.