Se connecter avec
S'enregistrer | Connectez-vous

Votes avec choix et réponses multiples

Dernière réponse : dans Programmation

Bonjour,

je suis à la recherche d'un script (si possible pas de php) pour effectuer un système d'engagement, j'ai effecuté de longues recherches sur le net et je n'ai trouvé que des systèmes avec choix multiples mais réponse unique, alors que je cherche choix multiples et réponses multiples, je m'explique.

Les visiteurs voient sur la page concernée une liste de 10 engagements, concernant l'environnement, avec en face de chaque engagement une case à cocher (ils peuvent voter sur tous si ils le souhaitent) et valider afin d'attérir sur la page des résultats avec le sur chaque engagement le nombre de personnes et tout en bas le total de votants.

j'espère avoir été assez clair pour vous :-) je continue mes recherches de mon côté.

Merci à tous

Autres pages sur : votes choix reponses multiples

Lassé par la pub ? Créez un compte
Expert Programmation

dartyduck>> c'est fini de dire n'importe quoi ! :fou: 

PHP est donc le seul langage pour rendre dynamiques les pages webs ?
MySQL est donc le seul système de bases de données ?
(Lis quand même la suite, j'y reparles de toi ;) )

_____________________


Fred>> si tu postes dans la cat' programmation, ne t'attends pas à un truc tout fait. On peut t'aider, certes, mais pas en faisant le boulot à ta place !

Si tu postes dans la sous-cat' PHP, tu risques d'avoir une réponse en rapport avec le PHP :/ 
Tu sais ne pas vouloir de PHP, mais que veux-tu alors ?

dardyduck est un tout petit peu expéditif, mais il n'est pas loin de la vérité : si tu as une base MySQL et un serveur Apache/PHP, je ne vois pas d'autres solutions intelligentes que de faire un script PHP.

Au fait, quel est ton environnement ? (système, base de données, serveur http+modules)

concernant le sujet c'est bien écrit php&mysql&asp, ensuite je cherche pas à ce que l'on fasse les choses pour moi en fait j'ai deja mon système de vote mais je n'arrive pas à l'adapter pour des reponses multiples avec des cases à cocher, j'ai bien mis des cases à cocher dans mon formulaire mais par contre les reponses ne sont pas bien comptabilisées en bref ça merde lol.
Voici mon code :

  1. <html>
  2. <head>
  3. <title>Votez pour votre affiche préférée</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script language="JavaScript">
  6. <!--
  7. window.onblur = function() {
  8. self.focus()
  9. }
  10. function VisioAffiche (fichier,w,h) {
  11. ff=window.open(fichier,"new","toolbar=no,scrollbars=yes,left=340,top=100,resizable=no,fullscreen=yes"); if(ff) { ff.focus();ff.resizeTo(1024,800) }
  12. }
  13. function VoteAffiche (fichier,w,h) {
  14. ff=window.open(fichier,"new","toolbar=no,scrollbars=no,left=340,top=100,resizable=no"); if(ff) { ff.focus();ff.resizeTo(340,900) }
  15. }
  16. function Retour (fichier,w,h) {
  17. ff=window.open(fichier,"new","toolbar=no,scrollbars=yes,left=340,top=100,resizable=no"); if(ff) { ff.focus();ff.resizeTo(690,590) }
  18. }
  19. function Affiches (fichier,w,h) {
  20. ff=window.open(fichier,"new","toolbar=no,scrollbars=yes,left=340,top=100,resizable=no"); if(ff) { ff.focus();ff.resizeTo(800,830) }
  21. }
  22. //-->
  23. </script>
  24. </head>
  25. <body bgcolor="#b3dc10" text="#000000">
  26. <table width="300" border="0" cellspacing="0" cellpadding="0" height="52">
  27. <tr>
  28. <td width="300" height="32">
  29. <div align="center"><img src="Concours.gif" width="162" height="32"></div>
  30. </td>
  31. </tr>
  32. <tr>
  33. <td width="300" height="20">
  34. <div align="center"><img src="Votez.gif" width="247" height="20"></div>
  35. </td>
  36. </tr>
  37. </table>
  38. <p>
  39. <%@LANGUAGE="VBSCRIPT"%>
  40. </p>
  41. <table width="300" border="0" cellspacing="0" cellpadding="0" height="328">
  42. <tr>
  43. <td width="300" valign="top">
  44. <!--#include file="../../../../db/Connections/VoteBDD.asp" -->
  45. <%
  46. SQL = "SELECT TOP 1 * FROM Questions " & _
  47. "ORDER BY VoteDate DESC"
  48. RSQuestions.open SQL, Conn, 3, 3
  49. ' on ne selectionne que le dernier sondage entré (top 1)
  50.  
  51. VoteID = RSQuestions("VoteID")
  52. ' on récupère l'ID du sondage, que l'on placera dans un cookie
  53.  
  54. VoteQuestion = RSQuestions("VoteQuestion")
  55. ' on récupère la question du sondage en cours
  56.  
  57.  
  58. ' --------------- Validation du formulaire ---------------
  59. ' si le formulaire est validé, on prepare la mise à jour de la table...
  60. If Request.QueryString("valide") = "true" then
  61.  
  62. SQL = "UPDATE Reponses " & _
  63. "SET Compteur = Compteur + 1 " & _
  64. "WHERE VoteOptionID= " & _
  65. Request.QueryString("choix") & ";"
  66.  
  67. If Int(Request.Cookies("VoteCookie")("VoteID")) <> VoteID then
  68. ' si le visiteur n'avait pas encore donné son avis pour ce vote... et on execute...
  69.  
  70. Conn.Execute SQL
  71. Response.Cookies("VoteCookie").Expires = Now()
  72. ' on autorise 1 vote tout les now() + x jours, à définir selon vos besoins
  73. Response.Cookies("VoteCookie")("VoteID") = VoteID
  74. Response.write " Le vote est validé. Merci!"
  75.  
  76. End if
  77. End if
  78. ' ------------ Fin de validation du formulaire -----------
  79.  
  80.  
  81. SQL = "SELECT * FROM Reponses " & _
  82. "WHERE VoteID = " & VoteID
  83. set RSReponses = Server.CreateObject("ADODB.Recordset")
  84. RSReponses.Open SQL, Conn, 3, 3
  85. ' on extrait les réponses possibles pour ce sondage
  86.  
  87. Total = 0
  88.  
  89. While Not RSReponses.EOF
  90. ' on récupère le nombre de réponses totales données pour ce sondage
  91. Total = Total + RSReponses("Compteur")
  92. RSReponses.MoveNext
  93. Wend
  94.  
  95.  
  96. RSReponses.MoveFirst
  97. ' on se replace sur le 1er enregistrement
  98.  
  99.  
  100. If Request.QueryString("voir") = "true" OR Request.QueryString("valide") = "true" _
  101. OR cInt(Request.Cookies("VoteCookie")("VoteID")) = VoteID then
  102. ' --------------- Affichage des resultats ---------------
  103. ' si on a voté, déjà voté, ou demandé les résultats
  104.  
  105. ' protection "Dépassement de capacité" d'un entier
  106. ' si l'on affiche les résultats et que personne n'a encore voté
  107.  
  108. If Total = 0 then
  109. Response.write "Aucun vote !"
  110. Else
  111.  
  112. ' création de la table HTML
  113. %>
  114. <br>
  115. <table width="302">
  116. <tr>
  117. <td colspan="3"> <%=VoteQuestion%> <br>
  118. </td>
  119. </tr>
  120. <% while not RSReponses.EOF
  121. pVotes = (RSReponses("Compteur") / Total) * 100
  122. ' pourcentage = (réponses pour la question / total réponses données) * 100
  123. %>
  124. <tr>
  125. <td width="44"><a href='JavaScript:Affiches("../concours/<%=RSReponses("VoteOption")%>.asp")'><%=RSReponses("VoteOption")%></a></td>
  126. <td width='14'><img src='/Marches/voteASP/vote.gif' height='5' width='<%=Round(pVotes,0)%>'></td>
  127. <td width="228"><%=Round(pVotes,1)%> %</td>
  128. </tr>
  129. <% RSReponses.movenext : wend
  130. 'on boucle sur les réponses en sortant leur désignation
  131. ' le pourcentage de vote arrondi et une barre graphique
  132. %>
  133. </table>
  134. <br>
  135. <% Response.write Total & " votes ont été effectués" : End If %>
  136. <br>
  137. <font face="Comic Sans MS, Verdana, Arial" size="2"><a href='javascript:VoteAffiche("vote.asp")'>Retourner
  138. aux votes</a></font> <br>
  139. <% Else
  140. ' --------------- Affichage du formulaire ---------------
  141. ' si le visiteur n'a pas encore voté
  142. %>
  143. <table width="302" align="center">
  144. <form name="poll" action="vote.asp?voir=true" method="get">
  145. <tr>
  146. <td colspan="3"> <%=VoteQuestion%></td>
  147. </tr>
  148. <% while not RSReponses.EOF
  149. ' on boucle sur les réponses, cette fois-ci dans un formulaire
  150. ' sous forme de bouton radio
  151. %>
  152. <tr>
  153. <td width="176"><a href='JavaScript:Affiches("../concours/<%=RSReponses("VoteOption")%>.asp")'><%=RSReponses("VoteOption")%></a></td>
  154. <td width="114">
  155. <input type="radio" name="choix" value="<%=RSReponses("VoteOptionID")%>">
  156. </td>
  157. </tr>
  158. <% RSReponses.movenext : wend %>
  159. <tr>
  160. <td colspan="2">
  161. <p align="center"><br>
  162. <input type="submit" value="Voter!" name="submit">
  163. <input type="hidden" name="valide" value="true">
  164. <br>
  165. <a href="vote.asp?voir=true"><font size="2" face="Comic Sans MS, Verdana, Arial">Voir
  166. les résultats</font></a> </p>
  167. </td>
  168. </tr>
  169. </form>
  170. </table>
  171. <div align="center">
  172. <% End if %>
  173. <br>
  174. <a href='JavaScript:VisioAffiche("affiches.asp")'><font size="2" face="Comic Sans MS, Verdana, Arial">Visualiser
  175. les affiches</font></a> <a href='JavaScript:Retour("concours.html")'><font face="Comic Sans MS, Verdana, Arial" size="2"><br>
  176. Retourner sur le site des 10 ans !</font></a></div>
  177. </td>
  178. </tr>
  179. <tr>
  180. <td width="300"> </td>
  181. </tr>
  182. </table>
  183. </body>
  184. </html>
Expert Programmation

Mais non, je t'engueule pas, je gueule, c'est tout. :o 

Comme d'hab', dardyduck, si tu trouves ce code horrible, tu es prié de le dire et aussi de dire pourquoi. La critique objective est vivement appréciée :) 


edit: rhoooooooo! la vache ! C'est coton : Des tableaux, du VBS et du JS [:peur]
Expert Programmation

Citation :
concernant le sujet c'est bien écrit php&mysql&asp

Et non. C'est du html 1.0 :/ , du VBS et du JS :/  et de l'ASP.
Pas la moindre trace de PHP.

Quand à ta base, c'est peut-être du MySQL, qu'importe. (Parfois c'est utile de le savoir, le dire ne gâche rien ;) ).

Il semblerait que ce soit le fichier VoteBDD.asp qui contienne la mécanique de vote.

zeb a dit :
Mais non, je t'engueule pas, je gueule, c'est tout. :o 

Comme d'hab', dardyduck, si tu trouves ce code horrible, tu es prié de le dire et aussi de dire pourquoi. La critique objective est vivement appréciée :) 


edit: rhoooooooo! la vache ! C'est coton : Des tableaux, du VBS et du JS [:peur]

bah vi, spour ça [:peur]

Bon j'essaie de chercher une réponse mais en vain sad.gif.

je vous envoi le lien de la page concernée : http://www.sydetom66.com/minisite/dixans/concours/voteo...

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

  1. <html>
  2. <head>
  3. <title>Votez pour votre affiche préférée</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  5. <script language="JavaScript">
  6. <!--
  7. function Retour (fichier,w,h) {
  8. ff=window.open(fichier,"new","toolbar=no,scrollbars=no,left=340,top=100,resizable=no"); if(ff) { ff.focus();ff.resizeTo(650,570) }
  9. }
  10. //-->
  11. </script>
  12. </head>
  13. <body bgcolor="#b3dc10" text="#000000">
  14. <table width="300" border="0" cellspacing="0" cellpadding="0" height="52">
  15. <tr>
  16. <td width="300" height="32">
  17. <div align="center"><img src="Concours.gif" width="162" height="32"></div>
  18. </td>
  19. </tr>
  20. <tr>
  21. <td width="300" height="20">
  22. <div align="center"><img src="Votez.gif" width="247" height="20"></div>
  23. </td>
  24. </tr>
  25. </table>
  26. <p>
  27. <%@LANGUAGE="VBSCRIPT"%>
  28. </p>
  29. <table width="300" border="0" cellspacing="0" cellpadding="0" height="328">
  30. <tr>
  31. <td width="300" valign="top">
  32. <!--#include file="../../../../db/Connections/VoteBDDMulti.asp" -->
  33. <%
  34. SQL = "SELECT TOP 1 * FROM Questions " & _
  35. "ORDER BY VoteDate DESC"
  36. RSQuestions.open SQL, Conn, 3, 3
  37. ' on ne selectionne que le dernier sondage entré (top 1)
  38.  
  39. VoteID = RSQuestions("VoteID")
  40. ' on récupère l'ID du sondage, que l'on placera dans un cookie
  41.  
  42. VoteQuestion = RSQuestions("VoteQuestion")
  43. ' on récupère la question du sondage en cours
  44.  
  45.  
  46. ' --------------- Validation du formulaire ---------------
  47. ' si le formulaire est validé, on prepare la mise à jour de la table...
  48. If Request.QueryString("valide") = "true" then
  49.  
  50. SQL = "UPDATE Reponses " & _
  51. "SET Compteur = Compteur + 1 " & _
  52. "WHERE VoteOptionID= " & _
  53. Request.QueryString("choix") & ";"
  54.  
  55. If Int(Request.Cookies("VoteCookie")("VoteID")) <> VoteID then
  56. ' si le visiteur n'avait pas encore donné son avis pour ce vote... et on execute...
  57.  
  58. Conn.Execute SQL
  59. Response.Cookies("VoteCookie").Expires = Now()
  60. ' on autorise 1 vote tout les now() + x jours, à définir selon vos besoins
  61. Response.Cookies("VoteCookie")("VoteID") = VoteID
  62. Response.write " Le vote est validé. Merci!"
  63.  
  64. End if
  65. End if
  66. ' ------------ Fin de validation du formulaire -----------
  67.  
  68.  
  69.  
  70.  
  71. SQL = "SELECT * FROM Reponses " & _
  72. "WHERE VoteID = " & VoteID
  73. set RSReponses = Server.CreateObject("ADODB.Recordset")
  74. RSReponses.Open SQL, Conn, 3, 3
  75. ' on extrait les réponses possibles pour ce sondage
  76.  
  77.  
  78. Total = 0
  79.  
  80. While Not RSReponses.EOF
  81. ' on récupère le nombre de réponses totales données pour ce sondage
  82. Total = Total + RSReponses("Compteur")
  83. RSReponses.MoveNext
  84. Wend
  85.  
  86.  
  87.  
  88. RSReponses.MoveFirst
  89. ' on se replace sur le 1er enregistrement
  90.  
  91.  
  92.  
  93. If Request.QueryString("voir") = "true" OR Request.QueryString("valide") = "true" _
  94. OR cInt(Request.Cookies("VoteCookie")("VoteID")) = VoteID then
  95. ' --------------- Affichage des resultats ---------------
  96. ' si on a voté, déjà voté, ou demandé les résultats
  97.  
  98. ' protection "Dépassement de capacité" d'un entier
  99. ' si l'on affiche les résultats et que personne n'a encore voté
  100.  
  101. If Total = 0 then
  102. Response.write "Aucun vote !"
  103. Else
  104.  
  105.  
  106. ' création de la table HTML
  107. %>
  108. <br>
  109. <table width="302">
  110. <tr>
  111. <td colspan="3"> <%=VoteQuestion%> <br>
  112. </td>
  113. </tr>
  114. <% while not RSReponses.EOF
  115. pVotes = (RSReponses("Compteur") / Total) * 100
  116. ' pourcentage = (réponses pour la question / total réponses données) * 100
  117. %>
  118. <tr>
  119. <td width="44"><%=RSReponses("VoteOption")%></td>
  120. <td width='14'><img src='/Marches/voteASP/vote.gif' height='5' width='<%=Round(pVotes,0)%>'></td>
  121. <td width="228"><%=Round(pVotes,1)%> %</td>
  122. </tr>
  123. <% RSReponses.movenext : wend
  124. 'on boucle sur les réponses en sortant leur désignation
  125. ' le pourcentage de vote arrondi et une barre graphique
  126. %>
  127. </table>
  128. <br>
  129. <% Response.write Total & " votes ont été effectués" : End If %>
  130. <% Else
  131. ' --------------- Affichage du formulaire ---------------
  132. ' si le visiteur n'a pas encore voté
  133. %>
  134. <table width="302" align="center">
  135. <form name="poll" action="voteok.asp?voir=true" method="get">
  136. <tr>
  137. <td colspan="3"> <%=VoteQuestion%> </td>
  138. </tr>
  139. <% while not RSReponses.EOF
  140. ' on boucle sur les réponses, cette fois-ci dans un formulaire
  141. ' sous forme de cases à cocher
  142. %>
  143. <tr>
  144. <td width="176"><%=RSReponses("VoteOption")%></td>
  145. <td width="114">
  146. <input type="checkbox" name="choix" value="<%=RSReponses("VoteOptionID")%>">
  147. </td>
  148. </tr>
  149. <% RSReponses.movenext : wend %>
  150. <tr>
  151. <td colspan="2">
  152. <p align="center"><br>
  153. <input type="submit" value="Voter!" name="submit">
  154. <input type="hidden" name="valide" value="true">
  155. <br>
  156. <a href="voteok.asp?voir=true">Voir les résultats</a> </p>
  157. </td>
  158. </tr>
  159. </form>
  160. </table>
  161. <div align="center">
  162. <% End if %>
  163. <br>
  164. <a href='JavaScript:Retour("concours.html")'><font face="Comic Sans MS, Verdana, Arial" size="2">Retourner
  165. sur le site des 10 ans !</font></a></div>
  166. </td>
  167. </tr>
  168. <tr>
  169. <td width="300"> </td>
  170. </tr>
  171. </table>
  172. </body>
  173. </html>
Lassé par la pub ? Créez un compte