Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
aqui esta o codigo pessoal so que tem um probleminha ele da o seguinte erro que a divisao tenque ser por 0,ai esta o codigo:
$sql = mysql_query("SELECT * FROM enquetes WHERE id_u_send = '$id_user'");
while($linha = mysql_fetch_array($sql)){
$id = $linha['id'];
$id_u_send = $linha['id_u_send'];
$titulo = $linha['titulo'];
$opa = $linha['op1'];
$opb = $linha['op2'];
$opc = $linha['op3'];
$vt1 = $linha['vt1'];
$vt2 = $linha['vt2'];
$vt3 = $linha['vt3'];
$status = $linha['status'];
$total = $linha['total'];
$barra1 = $vt1 * 100 / $total;
$barra2 = $vt2 * 100 / $total;
$barra3 = $vt3 * 100 / $total;
sendo:
$vt1,vt2,vt3 = as variaveis que contem os valores NUMEROS DE VOTOS
$total = é o tal de votos entre as variaveis vt1 vt2 e vt3
porque isso esta a aconteçer?
vlw pela ajuda ja resolvi o problema era o seguinte ele puxou as 3 enquetes que eram pra puxar so que na terceira enquete nao tinha nenhum voto portanto o total era igual a zero.
entao assim que eu criar uma nova enquete eu terei de colocar o total ja marcado mais de modo que o total seja subtraido por menos 1 logo apos os codigos:
$barra1 = $vt1 100 / $total;$barra2 = $vt2 100 / $total;$barra3 = $vt3 * 100 / $total;
pois mais a frente do codigo ele mostra o total de votos existentes!
outra forma é fazer uma verificação no momento da operação de divisão
$barra1 = $vt1 * 100 / $total;
:seta:
$barra1 = ( $total > 0 )? ( $vt1 * 100 / $total ) : 0;
Não está dizendo que TEM que ser divisão por 0,
Está te alertando que está dando uma divisão por zero (não existe).
Verifique sua query e a variável $total (echo nela), pra ver o valor que está
recuperando, lembrando que não existe divisão por 0.