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

(Resolvido) Select por mais votados da enquete na ordem


agitonoticias

Pergunta

Ola Amigos,

Eu até acho que deve de ter um jeito simples mais vou colocar a lógica do que eu preciso fazer:

Selecionar os votos de uma enquete

e fazer com que as respostas mais votadas fiquem por cima no select

Como posso fazer isso:

eu fiz a votação assim:

cada voto é 1 registro no bd, que tem 2 campos

id e resposta

dai pra ver quantos votos tem cada um, eu criei um array com um select que gera

o resultado e a quantidade de votos, mas eu queria ordenar isso pelos mais votados em ordem decrescente,

tem como fazer isso?

Muito Obrigado, desde já.

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

hm, você pode fazer uma query sql passando por todas possíveis respostas e guardando em um array o ID da resposta junto com o total de votos da mesma, depois usar alguma função sort() para ordenar em descrecente, depois passar por toda esta nova array ordenada e ir exibindo os resultados.

Link para o comentário
Compartilhar em outros sites

  • 0
hm, você pode fazer uma query sql passando por todas possíveis respostas e guardando em um array o ID da resposta junto com o total de votos da mesma, depois usar alguma função sort() para ordenar em descrecente, depois passar por toda esta nova array ordenada e ir exibindo os resultados.

Ola Anderson,

Tem como você me dar um exemplo só pra eu pegar o jeito é que nunca usei esse sort().

a unica coisa que eu sei é que ele ordena automático em ordem alganética os elementos do array.

Muito Obrigado pela ajuda.

Link para o comentário
Compartilhar em outros sites

  • 0
dá uma olhada no php.net

http://br.php.net/sort

depende muito da função usada, se o array vai ser ordenado pelos nome dos elementos, pelos valores, descrente, crescente, tem uma lista à esquerda de funções.

O meu irmãozinho, até que em fim eu consegui,

mas sem sua ajuda eu nunca ia conseguir, muito obrigado.

fiz como você disse,

fiz uma query pegando a quantidade de votos

atribui os resultados no array

fiz um sort() com esse array

e fiz um for() com outra query exibindo os resultados na ordem certinho.

Perfeito

Um dia eu fico bom ainda.

Muito Obrigado mais uma vez

Link para o comentário
Compartilhar em outros sites

  • 0

Esse tipo de coisa se resolve direto na query, bastaria somar agrupando pela resposta e já ordenando, exemplo

SELECT SUM(votos) as total_votos FROM tabela GROUP BY resposta ORDER BY total_votos DESC

Pronto... claro, teria que adaptar isso a realidade da sua tabela...

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,2k
    • Posts
      652k
×
×
  • Criar Novo...