agitonoticias Postado Junho 5, 2009 Denunciar Share Postado Junho 5, 2009 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 enquetee fazer com que as respostas mais votadas fiquem por cima no selectComo posso fazer isso:eu fiz a votação assim:cada voto é 1 registro no bd, que tem 2 camposid e respostadai 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á. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anderson F R Postado Junho 5, 2009 Denunciar Share Postado Junho 5, 2009 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 agitonoticias Postado Junho 6, 2009 Autor Denunciar Share Postado Junho 6, 2009 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anderson F R Postado Junho 6, 2009 Denunciar Share Postado Junho 6, 2009 dá uma olhada no php.nethttp://br.php.net/sortdepende 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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 agitonoticias Postado Junho 6, 2009 Autor Denunciar Share Postado Junho 6, 2009 dá uma olhada no php.nethttp://br.php.net/sortdepende 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 arrayfiz um sort() com esse arraye fiz um for() com outra query exibindo os resultados na ordem certinho.PerfeitoUm dia eu fico bom ainda.Muito Obrigado mais uma vez Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Anderson F R Postado Junho 6, 2009 Denunciar Share Postado Junho 6, 2009 que bom hehe, isso é mais lógica do que PHP em si :) Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 ESerra Postado Junho 6, 2009 Denunciar Share Postado Junho 6, 2009 Esse tipo de coisa se resolve direto na query, bastaria somar agrupando pela resposta e já ordenando, exemploSELECT SUM(votos) as total_votos FROM tabela GROUP BY resposta ORDER BY total_votos DESCPronto... claro, teria que adaptar isso a realidade da sua tabela... Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
agitonoticias
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
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.