Ir para conteúdo

POWERED BY:

Arquivado

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

DavidsonP

Enquete

Recommended Posts

Boa noite,

Estou precisando de ajuda para montar uma espécie de enquete. Por enquanto está assim:

<?php
$total = ($conta['for'] + $conta['def'] + $conta['agi'] + $conta['int'] + $conta['car']);

$for = ceil(($conta['for'] / $total) * 100);

$def = ceil(($conta['def'] / $total) * 100);

$agi = ceil(($conta['agi'] / $total) * 100);

$res = ceil(($conta['int'] / $total) * 100);

$hab = ceil(($conta['car'] / $total) * 100);

?>

Até aí tudo bem, a "enquete" mostra os resultados, tudo beleza. O que estou tendo dificuldade é para mostrar os resultados em forma de imagem, que seria uma barra para cada opção. O valor inicial de cada atributo acima é de 5, com o tamanho de cada barra começando em 200px, mudando de acordo com os resultados.

<img src="img/barra.gif" height="18" width="<?php echo $for; ?>%" style="max-width: 200px;" />

Porém não estou conseguindo setar o tamanho inicial, para que vá mudando à medida que os atributos vão sendo acrescidos, e tenha no máximo 200px de largura.

Sei que está faltando algo na fórmula, talvez seja algo bobo, mas não estou conseguindo resolver :pinch:

Se alguém puder dar uma luz, agradeço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não estou entendendo, a porcentagem só bate quando o número de votos é o mesmo em todos, quando muda fica desproporcional

<?php
$total = ($conta['for'] + $conta['def'] + $conta['agi'] + $conta['int'] + $conta['car']);

$for = round($conta['for'] * 100 / $total);

$def = round($conta['def'] * 100 / $total);

$agi = round($conta['agi'] * 100 / $total);

$res = round($conta['int'] * 100 / $total);

$hab = round($conta['car'] * 100 / $total);

?>

<img src="img/barra.gif" height="18" width="<?php echo $for; ?>%" style="max-width: 200px;" />

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi. Você precisa somar todos e dividir por 3.

 

Exemplo:

 

Voto 1 = 50

 

Voto 2 = 25

 

Voto 3 = 5

 

div1 = 50/(50+25+5) = 62,50% => (62,5*200)/100 = 125px

 

div2 = 25/(50+25+5) = 31,25% => (31,25*200)/100 = 63px

 

div2 = 5/(50+25+5) = 6,25 => (6,25*200)/100 = 13px

 

Vê se é isso!!

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.