Bon j'essaie de chercher une réponse mais en vain :(.
je vous envoi le lien de la page concernée :
[ Lien ]
alors pour info quand on clique sur un seul vote tout marche nikel par contre dès qu'on sélectionne deux ou plusieurs affiches ça fonctionne plus :( (testez c'est le mieux pour voir le fonctionnement). Je suis sur que c'est pas bien compliqué mais je galère depuis 3 jours à chercher et à retourner le code dans tous les sens. je pense que ça passe par une boucle qui répéterait une partie du code, J'ai mis la boucle mais est ce que c'est au bon endroit.
Je vous mets la source de la page. Je continue à cherche aussi. Merci
<%@LANGUAGE="VBSCRIPT"%>
<html>
<head>
<title>Votez pour votre affiche préférée</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--
function Retour (fichier,w,h) {
ff=window.open(fichier,"new","toolbar=no,scrollbars=no,left=340,top=100,resizable=no"); if(ff) { ff.focus();ff.resizeTo(650,570) }
}
//-->
</script>
</head>
<body bgcolor="#b3dc10" text="#000000">
<table width="300" border="0" cellspacing="0" cellpadding="0" height="52">
<tr>
<td width="300" height="32">
<div align="center"><img src="Concours.gif" width="162" height="32"></div>
</td>
</tr>
<tr>
<td width="300" height="20">
<div align="center"><img src="Votez.gif" width="247" height="20"></div>
</td>
</tr>
</table>
<p>
<%@LANGUAGE="VBSCRIPT"%>
</p>
<table width="300" border="0" cellspacing="0" cellpadding="0" height="328">
<tr>
<td width="300" valign="top">
<%
SQL = "SELECT TOP 1 * FROM Questions " & _
"ORDER BY VoteDate DESC"
RSQuestions.open SQL, Conn, 3, 3
' on ne selectionne que le dernier sondage entré (top 1)
VoteID = RSQuestions("VoteID")
' on récupère l'ID du sondage, que l'on placera dans un cookie
VoteQuestion = RSQuestions("VoteQuestion")
' on récupère la question du sondage en cours
' --------------- Validation du formulaire ---------------
' si le formulaire est validé, on prepare la mise à jour de la table...
If Request.QueryString("valide") = "true" then
SQL = "UPDATE Reponses " & _
"SET Compteur = Compteur + 1 " & _
"WHERE VoteOptionID= " & _
Request.QueryString("choix") & ";"
'If Int(Request.Cookies("VoteCookie")("VoteID")) <> VoteID then
' si le visiteur n'avait pas encore donné son avis pour ce vote... et on execute...
Response.write(request.querystring("choix").count & " choix : <BR>")
for i = 1 to request.querystring("choix").count
Response.write("Choix numéro : " & request.querystring("choix")(i) & "<BR>")
next
Conn.Execute SQL
'Response.Cookies("VoteCookie").Expires = Now()
'on autorise 1 vote tout les now() + x jours, à définir selon vos besoins
'Response.Cookies("VoteCookie")("VoteID") = VoteID
'Response.write " Le vote est validé. Merci!"
End if
'End if
' ------------ Fin de validation du formulaire -----------
SQL = "SELECT * FROM Reponses " & _
"WHERE VoteID = " & VoteID
set RSReponses = Server.CreateObject("ADODB.Recordset")
RSReponses.Open SQL, Conn, 3, 3
' on extrait les réponses possibles pour ce sondage
Total = 0
While Not RSReponses.EOF
' on récupère le nombre de réponses totales données pour ce sondage
Total = Total + RSReponses("Compteur")
RSReponses.MoveNext
Wend
RSReponses.MoveFirst
' on se replace sur le 1er enregistrement
If Request.QueryString("voir") = "true" OR Request.QueryString("valide") = "true" _
OR cInt(Request.Cookies("VoteCookie")("VoteID")) = VoteID then
' --------------- Affichage des resultats ---------------
' si on a voté, déjà voté, ou demandé les résultats
' protection "Dépassement de capacité" d'un entier
' si l'on affiche les résultats et que personne n'a encore voté
If Total = 0 then
Response.write "Aucun vote !"
Else
' création de la table HTML
%>
<br>
<table width="302">
<tr>
<td colspan="3"> <%=VoteQuestion%> <br>
</td>
</tr>
<% while not RSReponses.EOF
pVotes = (RSReponses("Compteur") / Total) * 100
' pourcentage = (réponses pour la question / total réponses données) * 100
%>
<tr>
<td width="44"><%=RSReponses("VoteOption")%></td>
<td width='14'><img src='/Marches/voteASP/vote.gif' height='5' width='<%=Round(pVotes,0)%>'></td>
<td width="228"><%=Round(pVotes,1)%> %</td>
</tr>
<% RSReponses.movenext : wend
'on boucle sur les réponses en sortant leur désignation
' le pourcentage de vote arrondi et une barre graphique
%>
</table>
<br>
<% Response.write Total & " votes ont été effectués" : End If %>
<% Else
' --------------- Affichage du formulaire ---------------
' si le visiteur n'a pas encore voté
%>
<table width="302" align="center">
<form name="poll" action="voteok.asp?voir=true" method="get">
<tr>
<td colspan="3"> <%=VoteQuestion%> </td>
</tr>
<% while not RSReponses.EOF
' on boucle sur les réponses, cette fois-ci dans un formulaire
' sous forme de cases à cocher
%>
<tr>
<td width="176"><%=RSReponses("VoteOption")%></td>
<td width="114">
<input type="checkbox" name="choix" value="<%=RSReponses("VoteOptionID")%>">
</td>
</tr>
<% RSReponses.movenext : wend %>
<tr>
<td colspan="2">
<p align="center"><br>
<input type="submit" value="Voter!" name="submit">
<input type="hidden" name="valide" value="true">
<br>
<a href="voteok.asp?voir=true">Voir les résultats</a> </p>
</td>
</tr>
</form>
</table>
<div align="center">
<% End if %>
<br>
<a href='JavaScript:Retour("concours.html")'><font face="Comic Sans MS, Verdana, Arial" size="2">Retourner
sur le site des 10 ans !</font></a></div>
</td>
</tr>
<tr>
<td width="300"> </td>
</tr>
</table>
</body>
</html>
fred