Ir para conteúdo

POWERED BY:

Arquivado

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

marciolvs

Contando Votos do bd

Recommended Posts

Bom efetuei uns select para me exibir o valor de dentro de uma coluna, valores 1 2 3 ele soma os votos e me dá um retrno para o grafico.

 

Efetuei 4 select mas só funciona os 2 primeiros.. sabem o porquê ???

 

 

o codigo:

<%

				DIM conn
				SQL = "SELECT count(*) AS total_votos FROM avalie_sua_escola Where C01='A'"
				rs.open sql, conn	
				A = RS("total_votos")				
				%>				
				A <img src="pixazul.jpg" height="5" width="<%= (A/2) %>"> <%=response.Write(A)%> Votos<br>
			  
				<%
				SQL = "SELECT count(*) AS total_votos FROM avalie_sua_escola Where C01='B'"
				rs2.open sql, conn	
				B = RS2("total_votos")				
				%>				
				B <img src="pixamarelo.jpg" height="5" width="<%= (B/2) %>"> <%=response.Write(B)%> Votos<br>
				
				<%
				SQL = "SELECT count(*) AS total_votos FROM avalie_sua_escola Where C01='C'"
				rs3.open sql, conn	
				C = RS3("total_votos")				
				%>				
				C <img src="pixverde.jpg" height="5" width="<%= (C/2) %>"> <%=response.Write(C)%> Votos<br>
				
				<%
				SQL = "SELECT count(*) AS total_votos FROM avalie_sua_escola Where C01='D'"
				rs3.open sql, conn	
				D = RS3("total_votos")				
				%>				
				D <img src="pixlaranja.jpg" height="5" width="<%= (D/2) %>"> <%=response.Write(D)%> Votos<br>

Peço uma ajudinha para o pessoal.

 

Agradeço desde já.

Obrigado.

 

Marcio L. Vercanti

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque você não usa um Group By?

SQL = "SELECT C01, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C01"
O resultado seria mais ou menos assim:

C01 TOTAL_VOTOS
--- -----------
A			10
B			20
C			 5
D			13
Depois você faz um loop pelo resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Me falaram que o group by só funciona com campos numericos, meu campo do bd é texto.

bom, Mas como eu faço um loop com group aqui???

 

Porque você não usa um Group By?

SQL = "SELECT C01, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C01"
O resultado seria mais ou menos assim:

C01 TOTAL_VOTOS
--- -----------
A			10
B			20
C			 5
D			13
Depois você faz um loop pelo resultado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mais ou menos isso:

SQL = "SELECT C01, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C01"
oRs.Open SQL, oCnn

If Not oRs.EOF Then
   Do While Not oRs.EOF
	  Response.Write oRs.Fields.Item(0).Value & " = " & oRs.Fields.Item(1).Value & "< br />"
	  oRs.MoveNext
   Loop
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu certo.. mas se eu usar mais de 2 select deste na mesma pagina dá erro..

 

sabe pq?

 

 

Mais ou menos isso:

SQL = "SELECT C01, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C01"
oRs.Open SQL, oCnn

If Not oRs.EOF Then
   Do While Not oRs.EOF
	  Response.Write oRs.Fields.Item(0).Value & " = " & oRs.Fields.Item(1).Value & "< br />"
	  oRs.MoveNext
   Loop
End If

Compartilhar este post


Link para o post
Compartilhar em outros sites

Neste codigo está informando os locais que preciso de colocar os select com grafico..

 

se colocar no dreamweaver ou algum programa semalhante você vê melhor.

 

<!-- #include file="protecao.asp" -->
<!--#include file="config.asp"-->
<%
frase = request("frase")
nome = session("nome")
user = Request("session")
data = Date



'SQL = "select * from alunos where login = '"& nome &"' " 
'RS.Open SQL,Conn,3,3

'aluno = rs("id")

Set Conn = Server.CreateObject("AdoDb.Connection") 
Conn.provider="Microsoft.Jet.OLEDB.4.0" 
Conn.connectionstring=Server.Mappath("../../dados/banco.mdb") 
Conn.Open 
Set RS2 = Server.CreateObject("adodb.recordset")

'SQL = "select * from avalie_sua_escola where id_aluno = '"& aluno &"' " 
'RS2.Open SQL,Conn,3,3
'While not RS2.EOF 
'response.Redirect("home.asp?frase=<BR>VOCÊ JÁ EFETUOU ESTE CADASTRO - AGUARDE NOVAS INSTRUÇÕES<br><br>")
'Wend



%>


<HTML>
<HEAD>
<TITLE><%=titulo%></TITLE>
<link href="../css.css" rel="stylesheet" type="text/css">
</HEAD>
<%=user%>
<BODY BGCOLOR="#FFFFFF" LEFTMARGIN="0" RIGHTMARGIN="0" TOPMARGIN="0" BOTTOMMARGIN="0">
<TABLE WIDTH="780" height="96%" BORDER="0" ALIGN="center" CELLPADDING="0" CELLSPACING="0" bgcolor="#FFFFFF" class="verdana10">
  <TR> 
	<TD height="90" ALIGN="center" background="../img/img_top_admin.jpg" bgcolor="#EFEFEF"> </TD>
  </TR>
  <TR>
	<TD height="20" ALIGN="left"><strong>     Menu Principal/Avalie 
	  sua Escola</strong> - Seja bem vindo(a) 
	  <%'if RS.eof then%>
	    
	  <%'else%>
	  <%'=RS("nome")%></TD>
	  <%'end if%>
  </TR>
  <TR> 
	<TD height="4" ALIGN="center" bgcolor="#EFEFEF" class="verdana10vinho"><B><%=frase%></B></FONT></TD>
  </TR>
  <TR> 
	<TD ALIGN="left" VALIGN="top"> <BR>
	  <table width="700" border="0" align="center" cellpadding="0" cellspacing="0" class="verdana10">
		  <tr align="center" bgcolor="#990000"> 
			<td height="20" colspan="4"><strong><font color="#FFFFFF">AVALIAÇÃO DA NOSSA 
			  ESCOLA - 1/2</font></strong></td>
		  </tr>
		  <tr align="center"> 
			<td colspan="4" height="1"></td>
		  </tr>
		  
		  <tr align="center"> 
			<td colspan="4" height="1"></td>
		  </tr>
		  <tr align="center"> 
			<td height="20" colspan="4" bgcolor="#FFF0F0"><font color="#FFFFFF"> 
			  <p> </p>
			  </font></td>
		  </tr>
		  <tr> 
			<td colspan="3"><strong><img src="../img/img_seta_fd_Branco_vermelha.jpg" width="6" height="7"> 
			  Avalie os itens apresentados abaixo de acordo com os seguintes critérios:</strong></td>
			<td width="17%" align="right"> <table width="100" border="0" cellpadding="0" cellspacing="1" bgcolor="#FFF0F0" class="verdana10">
				<tr> 
				  <td width="71" bgcolor="#FFFFFF"><strong>ÓTIMO</strong></td>
				  <td width="29" align="center" bgcolor="#FFFFFF"><font color="#990000"><strong>A</strong></font></td>
				</tr>
				<tr> 
				  <td bgcolor="#FFFFFF"><strong>BOM</strong></td>
				  <td align="center" bgcolor="#FFFFFF"><font color="#990000"><strong>B</strong></font></td>
				</tr>
				<tr> 
				  <td bgcolor="#FFFFFF"><strong>REGULAR</strong></td>
				  <td align="center" bgcolor="#FFFFFF"><font color="#990000"><strong>C</strong></font></td>
				</tr>
				<tr> 
				  <td bgcolor="#FFFFFF"><strong>PÉSSIMO</strong></td>
				  <td align="center" bgcolor="#FFFFFF"><font color="#990000"><strong>D</strong></font></td>
				</tr>
			  </table></td>
		  </tr>
		  <tr> 
			<td height="20" bgcolor="#FFF0F0"><strong><img src="../img/img_seta_fd_Branco_vermelha.jpg" width="6" height="7"> 
			  PROFESSOR</strong></td>
			<td width="19%" bgcolor="#FFF0F0"> </td>
			<td width="23%" bgcolor="#FFF0F0"> </td>
			<td bgcolor="#FFF0F0"> </td>
		  </tr>
		  <tr> 
			<td colspan="2"><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Didática<br></td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Atenção com o aluno</td>
			<td> </td>
		  </tr>
		  <tr>
			<td colspan="2" bgcolor="#F7F7F7">
			  <%				
				dim conn
				%>
				
				<%
				SQL = "SELECT C01, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C01"
				Rs.Open SQL, conn
				
				If Not Rs.EOF Then
				   Do While Not Rs.EOF
					  Response.Write Rs.Fields.Item(0).Value & " <img src='pixazul.jpg' height='5' width='"&Rs.Fields.Item(1).Value&"'> " & Rs.Fields.Item(1).Value & "<br/>"
					  Rs.MoveNext
				   Loop
				End If
				%>
			</td>
			<td bgcolor="#F7F7F7"><strong>Colocar gráfico aqui</strong></td>
			<td bgcolor="#F7F7F7"> </td>
		  </tr>
		  <tr>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
		  </tr>
		  <tr> 
			<td bgcolor="#F7F7F7"><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Apresentação Pessoal</td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Domínio da matéria</td>
			<td bgcolor="#F7F7F7"> </td>
		  </tr>
		  <tr>
			<td>
			<%
				SQL = "SELECT C02, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C02"
				Rs.Open SQL, conn
				
				If Not Rs.EOF Then
				   Do While Not Rs.EOF
					  Response.Write Rs.Fields.Item(0).Value & " <img src='pixazul.jpg' height='5' width='"&Rs.Fields.Item(1).Value&"'> " & Rs.Fields.Item(1).Value & "<br/>"
					  Rs.MoveNext
				   Loop
				End If
				%>
			</td>
			<td> </td>
			<td><strong>Colocar gráfico aqui</strong></td>
			<td> </td>
		  </tr>
		  <tr>
			<td> </td>
			<td> </td>
			<td> </td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Pontualidade nos horários</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Atenção em treinamento</td>
			<td> </td>
		  </tr>
		  <tr>
			<td bgcolor="#F7F7F7"><strong>Colocar gráfico aqui</strong></td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"><strong>Colocar gráfico aqui</strong></td>
			<td bgcolor="#F7F7F7"> </td>
		  </tr>
		  <tr>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
		  </tr>
		  <tr> 
			<td bgcolor="#F7F7F7"><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Paciência</td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
			<td bgcolor="#F7F7F7"> </td>
		  </tr>
		  <tr>
			<td><strong>Colocar gráfico aqui</strong></td>
			<td colspan="2"> </td>
			<td> </td>
		  </tr>
		  <tr>
			<td> </td>
			<td colspan="2"> </td>
			<td> </td>
		  </tr>
		  <tr> 
			<td width="27%" height="18"><strong><img src="../img/img_seta_fd_Branco_vrd.jpg" width="6" height="7"> 
			  COMENTÁRIOS:</strong> </td>
			<td colspan="2"><textarea name="comentario01" cols="75" rows="2" class="verdana10" id="comentario01">Comentários</textarea></td>
			<td> </td>
		  </tr>
		  <tr bgcolor="#FFF0F0"> 
			<td height="20" bgcolor="#FFF0F0"><strong><img src="../img/img_seta_fd_Branco_vermelha.jpg" width="6" height="7"> 
			  MONITOR</strong></td>
			<td> </td>
			<td> </td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Atenção com o aluno</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Auxílio ao Professor</td>
			<td> </td>
		  </tr>
		  <tr bgcolor="#F7F7F7"> 
			<td bgcolor="#F7F7F7"><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Apresentação Pessoal</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Paciência</td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><strong><img src="../img/img_seta_fd_Branco_vrd.jpg" width="6" height="7"> 
			  COMENTÁRIOS:</strong> </td>
			<td colspan="2" align="left"> <textarea name="comentario02" cols="75" rows="2" class="verdana10" id="comentario02">Comentários</textarea></td>
			<td> </td>
		  </tr>
		  <tr bgcolor="#FFF0F0"> 
			<td height="20" bgcolor="#FFF0F0"><strong><img src="../img/img_seta_fd_Branco_vermelha.jpg" width="6" height="7"> 
			  SECRETARIA</strong></td>
			<td> </td>
			<td> </td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Atendimento Pessoal</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Disposição</td>
			<td> </td>
		  </tr>
		  <tr bgcolor="#F7F7F7"> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Atendimento Telefônico</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Paciência</td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Atenção ao Aluno</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Eficiência</td>
			<td> </td>
		  </tr>
		  <tr bgcolor="#F7F7F7"> 
			<td bgcolor="#F7F7F7"><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Apresentação pessoal</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Simpatia</td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Retorno as solicitações</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Trans. avisos/recados</td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><strong><img src="../img/img_seta_fd_Branco_vrd.jpg" width="6" height="7"> 
			  COMENTÁRIOS:</strong> </td>
			<td colspan="2" align="left"> <textarea name="comentario03" cols="75" rows="2" class="verdana10" id="textarea2">Comentários</textarea></td>
			<td> </td>
		  </tr>
		  <tr bgcolor="#FFF0F0"> 
			<td height="20" colspan="2"><strong><img src="../img/img_seta_fd_Branco_vermelha.jpg" width="6" height="7"> 
			  ESCOLA E LABORATÓRIOS</strong></td>
			<td> </td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Ambiente/ Limpeza</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Computadores</td>
			<td> </td>
		  </tr>
		  <tr bgcolor="#F7F7F7"> 
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Método de ensino</td>
			<td> </td>
			<td><img src="../img/img_seta_fd_Branco_cnza.jpg" width="6" height="7"> 
			  Sala de espera</td>
			<td> </td>
		  </tr>
		  <tr> 
			<td><strong><img src="../img/img_seta_fd_Branco_vrd.jpg" width="6" height="7"> 
			  COMENTÁRIOS:</strong> </td>
			<td colspan="2" align="left"> <textarea name="comentario04" cols="75" rows="2" class="verdana10" id="comentario04">Comentários</textarea></td>
			<td> </td>
		  </tr>
		  <tr> 
			<td> </td>
			<td> </td>
			<td> </td>
			<td> </td>
		  </tr>
		  <tr align="center" bgcolor="#990000"> 
			<td height="30" colspan="4"><input name="Submit" type="submit" class="formbold" value="Proxima Folha"></td>
		  </tr>
		  <tr> 
			<td> </td>
			<td> </td>
			<td> </td>
			<td> </td>
		  </tr>
		</table>
	  <br>
	</TD>
  </TR>
  <TR> 
	<TD height="15" ALIGN="center" bgcolor="#EFEFEF"> <INPUT TYPE="button" NAME="voltar" VALUE="Voltar" ONCLICK="history.back()" CLASS="formbold"></TD>
  </TR>
</TABLE>
</BODY>
</HTML>

 

Se poder me ajudar ainda, agradeço mais uma vez.

 

Não.

Como você está colocando os dois?

Compartilhar este post


Link para o post
Compartilhar em outros sites

QUe erro que acontece?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá erro porque você não fecha o primeiro recordset, tente assim:

<%
				SQL = "SELECT C02, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C02"
				If Rs.State = adStateOpen Then Rs.Close 'Checa se o recordset esta aberto, se estiver fecha, antes de abrir de novo

				Rs.Open SQL, conn
				
				If Not Rs.EOF Then
				   Do While Not Rs.EOF
					  Response.Write Rs.Fields.Item(0).Value & " <img src='pixazul.jpg' height='5' width='"&Rs.Fields.Item(1).Value&"'> " & Rs.Fields.Item(1).Value & "<br/>"
					  Rs.MoveNext
				   Loop
				End If
				%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dá erro porque você não fecha o primeiro recordset, tente assim:

<%
				SQL = "SELECT C02, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C02"
				If Rs.State = adStateOpen Then Rs.Close 'Checa se o recordset esta aberto, se estiver fecha, antes de abrir de novo

				Rs.Open SQL, conn
				
				If Not Rs.EOF Then
				   Do While Not Rs.EOF
					  Response.Write Rs.Fields.Item(0).Value & " <img src='pixazul.jpg' height='5' width='"&Rs.Fields.Item(1).Value&"'> " & Rs.Fields.Item(1).Value & "<br/>"
					  Rs.MoveNext
				   Loop
				End If
				%>

Valews ANDERSON, deu certo sim.. o esquema era fechar o RS.

 

Segue o jeito que ficou concluído...

 

<%
				SQL = "SELECT C04, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C04"
				
				Rs.Open SQL, conn
				
				If Not Rs.EOF Then
				   Do While Not Rs.EOF
					  Response.Write Rs.Fields.Item(0).Value & " <img src='pixazul.jpg' height='5' width='"&Rs.Fields.Item(1).Value&"'> " & Rs.Fields.Item(1).Value & "<br/>"
					  Rs.MoveNext
				   Loop
				End If
				rs.close
				%>

Mais uma vez agradeço..

 

At

Marcio L. Vercanti

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valews ANDERSON, deu certo sim.. o esquema era fechar o RS.

Que bom!!!

 

Reabrindo aqui para tirar uma duvida..

 

Codigo

<%
				SQL = "SELECT C01, count(*) AS total_votos FROM avalie_sua_escola GROUP BY C01"
				
				Rs.Open SQL, conn
				
				If Not Rs.EOF Then
				   Do While Not Rs.EOF
					  Response.Write Rs.Fields.Item(0).Value & " <img src='pixazul.jpg' height='5' width='"&Rs.Fields.Item(1).Value&"'> " & Rs.Fields.Item(1).Value & "<br/>"
					  Rs.MoveNext
				   Loop
				End If
				
				rs.close
				%>

Bom a ideia é esta né

ex:

A ------ 50 votos

B--------------100 votos

c------44 votos

 

bom, ele tá vindo assim

 

------------------120votos

--05 votos

A ------ 50 votos

B--------------100 votos

c------44 votos

 

 

ou seja conta 2 campos que não possui letras, sabe pq?

 

verifiquei no banco, possui campos brancos, mas neste caso teria de ter apenas um local sem letra, pq tem 2 ?

 

 

Peço mais uma forcinha.

 

Agradeço mais uma vez

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pode ser que tenha um " " espaço, o que é diferente de "".

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você quer mostrar estes campos sem letras?

Os campos estão ostarnado com letras.

 

a

b

c

d

mas ai tem um que vem vazio e o bd não tá vazio...

 

e tbm queria gerar a porcentagem dos votos..

 

como faço ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas ai tem um que vem vazio e o bd não tá vazio...

Mas se está vindo vazio é porque no banco está vazio.

 

Não.. o banco está certinho.. sem vazio.. é vov oq faço..

 

E sobre converter em porcentagem.. sabe ?

 

C não lembrar beleza.. to encomodando já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só uma observação... Da próxima vez que for somar valores através de SQL utilize SUM(CAMPO_A_SER_SOMADO) ao invés de COUNT(*).

 

Nesse caso não fez muita diferença porque não existe a possíbilidade de ter mais de um voto por registro. Mas se fossem notas, por exemplo, não funcionaria.

 

Para exibir a % você multiplica o total de votos (de cada resposta) por 100 e depois divide pelo total de votos geral (de todas as resposta).

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.