Ir para conteúdo
Fórum Script Brasil
  • 0

Como Mostrar A Media De Votos?


impossivel

Pergunta

Olá, preciso saber qual a media de votos em um artigo, vou expor a tabela.

code----artigo----view ----votos ----pontos

1--------teste------5--------3--------30

code=um auto incremente, tipo ID

artigo=aqui vai o artigo para ser exibido

view=cada vez que é exibido é adiconado o valor view+1 na tabela

votos=cada vez que é votado é adicionado o valor votos+1 na tabela

pontos=o valor votado é adicionado ponto+$valor (valor veio pelo form do voto)-vai de 1 à 10

para exibir a media de votos eu uso o seguinte

$query = "SELECT * FROM $tabela ORDER BY code DESC LIMIT 10";

$result = @mysql_query($query);

while ($row = mysql_fetch_assoc($result))

{

$media=@round($row[pontos]/$row[votos],2);

echo "$media";}

mas eu preciso exibir o resultado das que tiveram a maior media de votos, porem eu não tenho esta media na tabela, apenas o valor e a quantidade de votos.

como faço para montar uma tabela com o resultado das que tiveram maior media de votos?

Obrigado pela força.

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Criar bela para armazenar os votos é uma boa saída, mas você também pode selecionar os registros já da maneira como você quer (em ordem de média) com a seguinte query:

Select *, ROUND(pontos/votos, 2) as media
From produtos Order By media DESC LIMIT 0, 10;

Abraços,

Beraldo

Link para o comentário
Compartilhar em outros sites

  • 0

beleza, seguindo esta logica fiz a busca na tabela do seguinte modo:

$query = "SELECT * FROM $tabela ORDER BY ROUND(pontos/votos, 2) DESC LIMIT 10";

$result = @mysql_query($query);

Funcionou perfeitamentem, o while exibe os resultado na ordem de quem teve a maior media, porem analizando bem, estive vendo que isto é injusto, pois o que teve a maior média obteve apenas um voto que foi 10, o segundo que teve cinco votos, tem a media 9,5. Acho que talvez eu devesse exibir por ordem do qual teve maior numero de votos.

Mas o que eu proucurava esta resolvido de maneira simples,

Muito obrigado pela colaboração de vocês!

Criar bela para armazenar os votos é uma boa saída, mas você também pode selecionar os registros já da maneira como você quer (em ordem de média) com a seguinte query:

Select *, ROUND(pontos/votos, 2) as media
From produtos Order By media DESC LIMIT 0, 10;

Abraços,

Beraldo

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...