Problème UPDATE

Benou
Invité n'ayant pas de compte PHPfrance

05 févr. 2010, 13:26

Bonjour, et merci d'avance à ceux qui prendront le temps de lire mon message
Mon site affiche dynamiquement des questions qui sont stockées dans ma base de données. J'ai fait un système de vote pour augmenter ou diminuer la note attribué à chaque question. Le code est le suivant :
$reponse = mysql_query('SELECT * FROM questions ORDER BY id DESC LIMIT ' . $premierMessageAafficher . ', ' . $nombreDeMessagesParPage);
while ($donnee6 = mysql_fetch_array($reponse))
{$nombre_reponse = mysql_query('SELECT COUNT(*) AS nb_reponses FROM reponses WHERE id_question ="'.$donnee6['id'].'"');
$donneess = mysql_fetch_array($nombre_reponse);
$totalDesReps = $donneess['nb_reponses'];
$aleatoire = mysql_query('SELECT * FROM reponses WHERE id_question="'. $donnee6['id'].'" ORDER BY RAND() LIMIT 1');
$donneealeatoire = mysql_fetch_array($aleatoire);
if ($donneealeatoire != NULL){ echo ' <div id="question"><p class="info">' . $donnee6['contenu'] . '<span><u>Réponse au hasard</u> : '.$donneealeatoire['contenu'].' </span></p>
<a class="pdv" href="reponses.php?page='.$donnee6['id'].'"><b>PQ n°'.$donnee6['id'].'</b> | Voir toutes les réponses (<b>' . $totalDesReps . '</b>)</a>'; }
elseif ($donneealeatoire == NULL){
echo ' <div id="question"><p class="info">' . $donnee6['contenu'] . '</p>
<a class="pdv" href="reponses.php?page='.$donnee6['id'].'"><b>PQ n°'.$donnee6['id'].'</b> | Proposer une réponse</a>';}
echo'<form method="post" action="http://pulpquestion.org/index.php?page=' . $page . '#v">
<p id="v" class="note"><input type="image" name="pouceenhaut" value="génial" src="etoile3.png" /><span>Pouce en l\'air !</span></p>
<p id="v" class="note"><input type="image" name="bien" value="bien" src="etoile3.png" /><span>Pas mal...</span></p>
<p id="v" class="note"><input type="image" name="bof" value="bof" src="etoile3.png" /><span>Mouais.</span></p>
<p id="v" class="note"><input type="image" name="pouceenbas" value="naze" src="etoile3.png" /><span>Pouce en bas !</span></p>
<div id="vide" style="clear: both;"> </div></div><br /><br /></form>';
if (isset($_POST['pouceenbas'])){mysql_query('UPDATE questions SET note = note - 1 WHERE id = ' . $donnee6['id'] . '');}
elseif (isset($_POST['bof'])){mysql_query('UPDATE questions SET note = note + 0 WHERE id = ' . $donnee6['id'] . '');}
elseif (isset($_POST['bien'])){mysql_query('UPDATE questions SET note = note + 2 WHERE id = ' . $donnee6['id'] . '');}
elseif (isset($_POST['pouceenhaut'])){
mysql_query('UPDATE questions SET note = note + 3 WHERE id = ' . $donnee6['id'] . '');}
else{mysql_query('UPDATE questions SET note = note + 0 WHERE id = ' . $donnees6['id'] . '');}
}
J'affiche 5 questions par page et le problème et le suivant : Lorsqu'on vote, ce sont les notes de toutes les questions de la page qui changent... Quelqu'un aurait-il une idée ?

Eléphant du PHP | 453 Messages

06 févr. 2010, 14:19

Hello,

Ton code est tellement compact qu'il reste collé même si tu renverses le script :lol: Les commentaires c'est bien aussi... :)

En lisant vite fait ton code, regarde en faisant :
<!-- code -->
<input type="image" name="vote" value="génial" src="genial.png" />
<!-- code -->
<input type="image" name="vote" value="bien" src="bien.png" />
<!-- code -->
<input type="image" name="vote" value="moyen" src="moyen.png" />
<!-- etc. -->
La Tux attitude avec les kiw'z syou plait
Komodo Edit - Inkscape - Dia

Benou
Invité n'ayant pas de compte PHPfrance

06 févr. 2010, 17:02

Problème résolu =) merci bien