Ir para conteúdo

POWERED BY:

Arquivado

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

mkboy

Votação

Recommended Posts

To montando o sistema de votos, e pretendo ir postando as duvidas aqui neste topico, mas de inicio uma pergunta:O que importa mais, a quantidade de votos ou o valor dos votos?Tipo eu fiz 5 checks, cada um com um valor ( 1,2,3,4,5 )E quando alguem votar faço um update para saber o total dos votos?3 + 4 + 4 + 5Ou faço insert parar saber a quantidade de votos?1253Na hora de fazer um top para as mais votadas o que julgar? O valor total somando os pontos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom vamos laPrimeiro, você tem que fazer um sistema que não deixe a pessoa votar varias vezes, se não que adianta ? rsComo fazer isso ? a menos pior forma (hahaha) é por IP, quando a pessoa votar salve o IP e o horario...Bom agora que você ja tem salvo isso, você pode garantir que o cara não vai votar varias vezes, pelo menos não sem mudar o IP...Bom o que você pode fazer agora, é por 5 checksQue nota você ´da para o site ?O - 1O - 2O - 3O - 4O - 5Dai o cara vota, na pagina seguinte você ve aonde ele votou... salva la no bancoIP - Horario - Votoexemplo200.145.80.4 - 26/11/2004 - 23:07 - 4BOm ta salvo o voto...agora automaticamente você ja pode fazer a verificação se o cara votou hoje, isso você faz com um select e um if not rs.eof...Agora você faz um select count, pegando por votos individuais...pega primeiro o voto 1pega com select e count...poxa tenho que sair ahahhaha mas da uma busca que tem a sintaxe certinha aqui no froumAbração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se eu fizer o insert (data, ip, nota, id_foto)vai entrar:26/11/2004 - 127.0.0.001 - 3 - 5326/11/2004 - 127.0.0.001 - 4 - 5326/11/2004 - 127.0.0.001 - 3 - 5226/11/2004 - 127.0.0.001 - 2 - 5326/11/2004 - 127.0.0.001 - 1 - 53Aqui eu somo as notas do ID 53Como faço isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

você quer mostrar os resultados somando total de cada voto tipo:

 

26/11/2004 - 127.0.0.001 - 3 - 53

26/11/2004 - 127.0.0.001 - 4 - 53

26/11/2004 - 127.0.0.001 - 3 - 52

26/11/2004 - 127.0.0.001 - 2 - 53

26/11/2004 - 127.0.0.001 - 1 - 53

 

1 - Total Votos: 1

2 - Total Votos: 1

3 - Total Votos: 2

4 - Total Votos: 1

 

Somar os votos iguais e mostrar quantos votos tem cada numero. certo ?

 

Faz um Select com Where e usa o recordcount...

 

ASP [/tr][tr]SQL="SELECT * FROM TABELA WHERE nota='1'"

set rs = server.CreateObject("adodb.recordset")

rs.open sql,conexao,3,3

 

response.write rs.recordcount

[/tr]

 

pronto ele vai pegar só os registros com voto 1 e vai mostrar quantos votos tem com o recordcount, tem como fazer tambem pelo select count isso...

 

ASP [/tr][tr]sql="SELECT COUNT(ID) AS TOTAL FROM TABELA WHERE nota='1'"

set rs = server.CreateObject("adodb.recordset")

rs.open sql,conexao,3,3

 

response.write rs("TOTAL")

[/tr]

 

os dois casos são só você fazer com os outros numeros (2,3,4 e 5)

 

Agora só testar, qualquer problema só postar que damos um help =)

 

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa, valeu mesmo! Vou aplicar agora mesmo!Agora outra duvida:Se eu fizer um link, tipo TOP 10Qual a melhor forma de classificar as fotos?Por quantidade de votos? Ou por valor total dos votos?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Outra duvida!

 

O primeiro Count eu consegui!

 

Agora eu queria assim:

 

Se eu fizer o insert (data, ip, nota, id_foto)

 

vai entrar:

 

26/11/2004 - 127.0.0.001 - 3 - 53

26/11/2004 - 127.0.0.001 - 4 - 53

26/11/2004 - 127.0.0.001 - 3 - 52

26/11/2004 - 127.0.0.001 - 2 - 53

26/11/2004 - 127.0.0.001 - 1 - 53

 

Cliente 53

 

Total de Votos: 4 :)

 

 

Total de Pontos: 10 :(

 

Entao, nao to conseguindo somar os pontos do cliente 53 por exemplo, somar o valor total dos pontos!

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poxa, valeu mesmo! Vou aplicar agora mesmo!Agora outra duvida:Se eu fizer um link, tipo TOP 10Qual a melhor forma de classificar as fotos?Por quantidade de votos? Ou por valor total dos votos?

Nessa situação acho melhor você somar, todas as notas da foto e dividir por 5 pra tirar a media... dai faz o top 10 pegando a media das fotos...Acho que é a melhor forma... ;) Sobre somar os pontos, a solução que pensei, foi fazer um select pelo cliente e somar os pontos, num looping, faz um looping declara uma variavel com pontuação inicialmente igual a 0 e a cada looping ele adiciona o voto da coluna atual...A logica é essa, se tiver dificuldades da um berro que a gente aparece aqui =)Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nessa situação acho melhor você somar, todas as notas da foto e dividir por 5 pra tirar a media... dai faz o top 10 pegando a media das fotos...

hahaha, maneiro, fazer a média, muito bom DackAle :D Acho que meu cérebro ta meio travado, hehe, pensei o maior tempão e nenhuma idéia para isso! Acho que é falta de férias, uauauha :rolleyes: Valeu, vou seguir sua lógica, e vamos ver o que sai! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

:wacko:

 

Ainda não consegui, hehe

 

Vamos ver o que eu fiz:

 

ASP [/tr][tr]<%

SQLmd = "select * from tb_votos where b_foto = " & objrs("cod_prod")

Set RSmd = conexao.execute(SQLmd)

 

do while not rsmd.eof

soma = 0

quant = quant + 1

soma = CInt(soma) + CInt(rsmd("b_nota"))

 

RSmd.movenext

loop

 

response.write "<b>Nº Votos:</b> " & quant & "<br>"

response.write "<b>Nº das notas</b>: " & soma & "<br>"

response.write "<b>Média:</b> " & quant/soma & "<br>"

 

%>

[/tr]

 

Meu banco está assim:

 

b_id - b_foto - b_nota

10 - 56 - 5

11 - 56 - 3

12 - 56 - 4

13 - 56 - 5

14 - 56 - 3

15 - 57 - 4

 

E eu estou na pagina do registro 56, entao meu resultado teria que ser assim:

 

Nº Votos: 05

Total das notas: (5+3+4+5+3) = 20

Média: (20/5) = 4

 

É isso que preciso! O que preciso arrumar no codigo acima para ficar assim?

 

http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom fiz algo rapido aqui, funcionou perfeitamente... usei a mesma estrutura, id, foto e nota...

 

ASP [/tr][tr]<%

SQL="SELECT * FROM votacao WHERE foto=10"

SET RS = Server.CreateObject("AdoDB.RecordSet")

RS.Open SQL,Conexao,3,3

%><html>

<head>

<title>Votação</title>

</head>

 

<body>

<%

while not rs.eof

valor = cint(valor) + rs("nota")

rs.movenext

wend

total = rs.recordcount

%>

Total de Votos = <%=total%><br>

Valor Total dos Votos = <%=valor%><br>

Media = <%= cint(cint(valor)/cint(total)) %>

</body>

</html>

[/tr]

 

ta funfando beleza, o primeiro cint no media e opcional, se você quiser mostrar o valor inteiro uitliza ele, se n~çao tira ele... mas ta tudo funcionando, ele pega numero de votos, depois o total da somatorio dos fotos da foto e por ultimo a media que a divissão de numero de votos com o total da soma dos votos...

 

Caso tiver alguma duvida só gritar =)

 

Abração

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dack, você foi muito amigão tendo essa atenção comigo até funcionar, brigado mesmo pela força!Brigado mesmo, ficou ótimo, muito bom mesmo! http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Que isso mkboy ahahahahaha gosto de ajudar os outros, como me ajudam ainda, acho legal ajudar quando sei ajudar, mas ainda bem que funfo, qualquer coisa só gritar =)Abraços

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.