Ir para conteúdo

POWERED BY:

Arquivado

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

rsegovia

Média

Recommended Posts

Olá galera, estou com um grande problema de lógica.tenho q fazer um sistema de "hate" onde os usuários vao votar de 1 a 5 em um determinado produto, e eu tenho q exibir a média dos votos, tentei pensar em algo dando "peso" para cada valor so que não tive sucesso.Alguem tem alguma idéia ?Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ora use média aritimética, os próprios pontos já são os pesos. Em caso de banco de dados creio que dê para usar na SQL o AVERAGE, que já te retornaria a média.

Compartilhar este post


Link para o post
Compartilhar em outros sites

OPÇÃO 1 + OPÇÃO 2 + OPÇÃO 3 + OPÇÃO 4 + OPÇÃO 5 = Total Porcentagem de OPÇÃO 1 = 100.Opçao1/TotalPorcentagem de OPÇÃO 2 = 100.Opçao2/TotalPorcentagem de OPÇÃO 3 = 100.Opçao3/TotalPorcentagem de OPÇÃO 4 = 100.Opçao4/TotalPorcentagem de OPÇÃO 5 = 100.Opçao5/Total----------------------------------------------------------------------

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como não sei a estrutura de seu BD vou dar um exemplo genérico:

Select Average(CampoVotos) As Media From Tabela Where IdObjeto = 1;

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que não estou sabendo explicar :( vou tentar denovo hehehe, vlw pela ajuda galeratenho em meu site a opção do cliente escolher uma nota de 1 a 5 para um determinado produto, vamos supor que as notas tenham cidovalor1 = 2valor2 = 1valor3 = 3valor4 = 3valor5 = 10qndo eu exibir esse produto, vou colocar a nota que ele recebeu por base em uma média, tipo o produto recebeu média 4.12 que seria +/- esse caso.hj ainda nao está no banco, estou tentando desenvolver a logica, se alguem puder ajudar, agradeço muito.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não há motivos para você se enrolar, você vai permitir que valores entre 1 e 5 sejam dados à um determinado produto, cada "voto" que ele receber será armazenado em uma base de dados e para exibir a média é só usar a lógica da SQL que passei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

e como vou salvar esses dados entao ? fiz os testes e deu valores maior que 5 no resultado.eu fiz assim, 5 colunas na tabela e cada coluna, as colunas se chamam[V1],[V2],[V3],[V4],[V5]tentei jogar pesos para esse valores, usei a função AVG e naum funcionou. :'(

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não faça isso, é desperdício de espaço. Use um campo tipo inteiro e armazene nele as notas dadas pelos usuários. O ideal é usar uma tabela exclusivamente para isso, onde você terá um campo com o ID do produto e um campo com a nota (pode-se adicionar mais campos para identificar o usuário e tals) daí cabe usar a SQL que passei, além de ficar um pouco mais arrumado seu BD.

Compartilhar este post


Link para o post
Compartilhar em outros sites

nossa, to lezado, q coisa besta, consegui entender, eu nao tava entendendo pq queria ja jogar um numero de votos pra cada, tipo pessoas q votaram em 5 votos sao 120 por exemplo, ai a função AVG nao funcionava, vlw mesmo, tremenda falha minha...vlw

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.