Ir ao conteúdo
  • Cadastre-se
deejaywesley

php mysql somar e dar a % ordenar

Recommended Posts

Boa Tarde galerinha!

 

Seguinte: fiz um curso de html, php, mysql e bla bla bla....

 

e como forma de exercitar e aprender mais, resolvi fazer em php e mysl o que duas

planilhas de excel minhas fazem...

 

resumindo elas... elas são para a época das eleições de prefeito e na rádio q trabalho

usamos uma para cadastrar os votos de cada candidato a prefeito, brancos e nulos...

e a outra junta os dados, faz os cálculos e mostra os valores na tela do studio,

assim podemos anunciar extraoficialmente o provável novo prefeito muito antes do fim da

apuração das urnas...

 

já fiz algumas coisa, minha dificuldade pra variar é mysql, vamos por partes...

primeiro os cálculos....

 

eu tenho o BD por nome de "eleicoes"

 

talela "apurar"

 

colunas "ordem" que é AUTO_INCREMENT  esta so para se precisar no futuro

 

"urna" "cand01" "cand02" "cand03" "cand04" "cand05" "brancos" "nulos"

 

ai eu preciso de um arquivo semelhante ao exibir.php, que faça a soma de  todos os valores das colunas "cand01" ate "nulos" e depois me mostre a % de cada...

 

que no caso passando do excel para php ai ficaria algo + ou - assim

 

    $cand01   = (somacand01 * 100)/somatotal
    $cand02   = (somacand02 * 100)/somatotal
    $cand03   = (somacand03 * 100)/somatotal
    $cand04   = (somacand04* 100)/somatotal
    $cand05   = (somacand05 * 100)/somatotal
    $brancos  = (somabrancos * 100)/somatotal
    $nulos      = (somanulos * 100)/somatotal

 

e ja aproveitando o embalo, tem como colocar os cand em ordem ex:

 

cand02 = 50%

cand01 = 45%

cand05 = 32%

cand03 = 09%

cand04 = 06%

brancos = 03%

nulos = 01%

 

ai cadastro valores de mais urnas e atualizo a panina de exibir

 

cand03 = 50%

cand05 = 45%

cand04 = 32%

cand01 = 09%

cand02 = 07%

brancos = 08%

nulos = 05%

 

so os brancos e nulos que sempre ficam por utimo mesmo se o valor da % for maior que algum candidato...

 

algum fera ai pra me ajudar nessa?

 

ainda não tem layout nenhum, porque primeiro quero fazer funcionar depois é que vou me preocupar com aparência...

 

:cool:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa Noite!

 

editei porque consegui fazer o que tava perguntando!

 

agora falta a parte da soma e %

 

4 colunas... ordem, urna, candidato, votos

 

preciso fazer a soma da coluna votos inteira

 

e depois fazer a soma dos votos total de cada candidato para exibir a %

 

algo mais ou menos assim

 

(sum(fulano * 100)/sum(votos)

 

ai no exibir.php

 

ia mostar por ex

 

fulano ------- 1543 votos -------------- 54%

 

ciclano ------ 654 votos ---------------- 27%

 

beltrano ----- 300 votos --------------- 15%

 

brancos ----- 100 votos -------------- 9%

 

nulos --------- 50 votos --------------- 6%

 

:cool:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá,  você precisa modelar melhor o banco de dados.

 

por exemplo:

 

crie as tabelas:

 

candidatos( ID INT auto increment, nome)

urnas( ID INT auto increment, ordem)

apurar( ID INT auto increment, ID_urna, ID_candidato )

 

ps: não vou dar detalhes de como fazer as tabelas e os relacionamentos da chave primária e a chave estrangeira.

 

depois implemente um exibir.php que fará a consulta ao banco de dados sobre as urnas e os candidatos... e associa-los a um radio button ou um campo select.

então enviar ao  inserir.php.

 

ps: evite de colocar html quando se vai só receber os dados para inserir no banco.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×