Bon j'essaie de chercher une réponse mais en vain sad.gif.
je vous envoi le lien de la page concernée :
Vous devez être
connecté pour voir les liens.
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 sad.gif. 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, mais quelle boucle utilisée et à quelle endroit la faire débuter et à quel endroit la faire terminer.
Je vous remets la source de la page. Je continue à cherche aussi. Merci
[cpp]
<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">
<!--#include file="../../../../db/Connections/VoteBDDMulti.asp" -->
<%
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...
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>
[/cpp]