Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renatinhavip

Enquete

Recommended Posts

Bom dia, pessoal!

 

Como faço uma enquete com uma pergunta e possibilidade de multiplas respostas a serem marcadas?

 

Como faço para somar +1 voto para todas as respostas que tiverem sido marcadas?

 

Como faço uma página de resultado listando as respostas a começar pelas mais votadas?

 

Alguém sabe??? :unsure:

Compartilhar este post


Link para o post
Compartilhar em outros sites

você já tem o sistema de enquete e quer apenas implementá-lo ? ou não tem o sistema, você pode pegar seu sistema e implementar dessa forma, pois a lógica das enquetes são as mesmas.apenas adquá-las as multiplas respostas, pois para somar o voto é simples em uma enquete,e para ver listar você pode fazer um select na resposta de maior voto.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi. tenho um sistema de enquetes, mas que só dá pra votar numa opção de cada vez. Queria que pudesse votar em várias opções somando votos ao mesmo tempo nessas opções e depois listar pelos mais votados...

 

Os códigos são esses:

 

<%
Set conn = Server.CreateObject("ADODB.Connection")
strConexao = "Provider=SQLOLEDB;Data Source=183.193.1.11;User Id=sa;Password=123456;Initial Catalog=Intranet;Connect Timeout=10"
Set RS = Server.CreateObject("ADODB.Recordset")
conn.open strConexao

rs.activeconnection = conn
rs.CursorLocation = 3
rs.CursorType = 0
rs.LockType = 1
rs.source = "select pergunta from tbl_pergunta"
rs.open()

'Seleciono as respostas
set rs1 = server.CreateObject("ADODB.Recordset")
rs1.activeconnection = conn
rs1.CursorLocation = 3
rs1.CursorType = 0
rs1.LockType = 1
rs1.source = "select id, respostas from tbl_respostas"
rs1.open()

%>
<html>
<head>
<title>Untitled Document</title>
<script language="javascript" type="text/javascript">
function checa(nform) {
	//validacao de radio buttons sem saber quantos sao
	marcado = -1
	for (i=0; i<nform.op.length; i++) {
		if (nform.op[i].checked) {
			marcado = i
			resposta = nform.op[i].value
		}
	}
	
	if (marcado == -1) {
		alert("Selecione uma opção.");
		nform.op[0].focus();
		return false;
	} else { //esse else so foi colocado para evitar que o form desse o submit
		return true; 
	} 
		return true;
}
</script>
</head>

<body>
<%= rs("pergunta")%>
<form action="default.asp" method="post" name="enquete" id="enquete" onSubmit="return checa(this);">
  <table width="100%" border="0" cellspacing="1" cellpadding="1">
  <% do while not rs1.eof %>
	<tr>
	  <td width="17%" align="right"><input name="op" type="checkbox" border="0" value="<%= rs1("id")%>" /></td>
	  <td width="83%" align="left"><span class="borda"><%= rs1("respostas")%></span></td>
	</tr>
	<% rs1.movenext()
	loop %>
	<tr>
	  <td colspan="2" align="right"><input name="Submit2" type="submit" class="botao" value="VOTAR" /></td>
	  </tr>
  </table>
</form>
<%
voto = request.form("op")
if not isempty(request.Form("Submit2")) then

set rs = server.CreateObject("ADODB.Recordset")
rs.activeconnection = conn
rs.CursorLocation = 3
rs.CursorType = 0
rs.LockType = 1
rs.source = "select id_respostas, votos from tbl_votos where id_respostas = "& voto &""
rs.open()
	if not rs.eof then
		insere = "update tbl_votos set votos = "& rs("votos") + 1 &" where id_respostas = "& voto &""
		conn.execute(insere)
		response.Write("<script>alert('Obrigado pela sua Participação.')</script>")
	else
		insere = "insert into tbl_votos (id_respostas, votos) values ("& voto &", 1)"
		conn.execute(insere)
		response.Write("<script>alert('Obrigado pela sua Participação.')</script>")
	end if

end if
%>
<div align="center"><a href="java script:abre('resultado.asp','Resultado','width=320,height=180')">Resultado</a></div>
</body>
</html>
<%
rs.close()
set rs = nothing
rs1.close()
set rs1 = nothing
conn.close()
set conn = nothing
%>

E esse:

'Exibe as respostas e o total de votos em cada resposta
set rs1 = server.CreateObject("ADODB.Recordset")
rs1.activeconnection = conn
rs1.CursorLocation = 3
rs1.CursorType = 0
rs1.LockType = 1
rs1.source = "SELECT tbl_respostas.respostas, tbl_votos.votos FROM tbl_respostas INNER JOIN tbl_votos ON tbl_respostas.ID = tbl_votos.id_respostas"
rs1.open()

'Soma dos votos para calcular a Porcentagem
set rs2 = server.CreateObject("ADODB.Recordset")
rs2.activeconnection = conn
rs2.CursorLocation = 3
rs2.CursorType = 0
rs2.LockType = 1
rs2.source = "SELECT SUM(votos) AS total FROM tbl_votos"
rs2.open()
%>
<html>
<head>
<title>Resultado - <%= rs("pergunta")%></title>
<link href="css.css" rel="stylesheet" type="text/css" />
</head>

<body>
<table border="0" cellspacing="2" cellpadding="2">
  <tr class="Titulo-enquete">
	<td colspan="3"><%= rs("pergunta")%></td>
  </tr>  
  <% do while not rs1.eof%>
  <tr>
	<td><span class="borda"><%= rs1("respostas")%></span></td>
	<td align="right"><%= formatPercent(formatNumber(rs1("votos"),2)/ formatNumber(rs2("total"),2),2) %></td>
	<td>  <img src="imagens/barra.GIF" width="<%= formatPercent(formatNumber(rs1("votos"),2)/ formatNumber(rs2("total"),2),2) %>" height="10" /></td>
  </tr>
  <% rs1.movenext()
  loop%>  <tr>
	<td colspan="3" align="left">Total de Votos: <%= rs2("total")%></td>
	</tr>
</table>
<p align="right"><a href="java script:window.close()">Fechar</a></p>
</body>
</html>
<%
rs.close()
set rs = nothing
rs1.close()
set rs1 = nothing
rs2.close()
set rs2 = nothing
conn.close()
set conn = nothing
%>

Como mudo isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não sei se você pretende aprender a fazer, pois tem um site que você cria a enquete da forma como você quer, em um painel de controle, e depois você só pega o código e introduz no seu site...e la tem opção de mais de 1 voto e muitas outras interessantes!

 

http://www.enquetes.com.br

 

O Enquetes.com.br processa mais de 2 milhões de votos ao mês, provenientes das mais de 798500 enquetes administradas.

;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

É uma enquete para Intranet. Visto que muitos funcionários não tem acesso á Internet, "puxar" a enquete de um site externo não seria uma boa opção.

 

Além do que, o quero mesmo é aprender a fazer...

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode proceder como uma sistema de pesquisa tb, onde você expoe a pergunta e oferece varios

checkbox para resposta, eixa o user escolher e recupera os dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Voce tem que utilizar checkbox e quando recuperar incrementa os que foram marcados

 

é praticamente igual ao primeiro mudando o formulario e a forma com recupera apenas

 

voce que fez o que esta funcionando ou pegou pronto?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.