terra 1 Denunciar post Postado Junho 13, 2013 olá, esta ocorrendo esse erro Division by zero in line 180 $max =$row['gostei']; $now =$row['naogostei']; $primeiro = $max + $now; // recebe a quantidade de votos NEGATIVOS if($now > $max) { $var_delivery[$i]['gostei'] = number_format(abs($max * 100/$primeiro)); } else // recebe a quantidade de votos POSITIVOS { $var_delivery[$i]['gostei'] = number_format(abs($max*100/$primeiro)); //linha 180 } $total = $max + $now;$total = $max + $now; Agradeço qualquer ajuda Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 13, 2013 Isso ocorre devido uma de suas variáveis estar sem valor, ou com valor null. Nesta linha você está somando valores negativos e positivos: $primeiro = $max + $now; // recebe a quantidade de votos NEGATIVOS Defina o valor 1 para ambas as variáveis.. $max = isset($row['gostei'] and $row['gostei'] != '') ? $row['gostei'] : 1; $now = isset($row['naogostei'] and $row['naogostei'] != '') ? $row['naogostei'] : 1; Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Junho 13, 2013 Olá, obrigado pela resposta. Esta dando esse erro PHP Parse error: syntax error, unexpected T_LOGICAL_AND, expecting ',' or ')' on line 175 $max = isset($row['gostei'] and $row['gostei'] != '') ? $row['gostei'] : 1; //line 175 valeu Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Junho 13, 2013 faltou abrir o parêntese.. $max = ( isset( $row['gostei'] ) and $row['gostei'] != '' ) ? $row['gostei'] : 1; Compartilhar este post Link para o post Compartilhar em outros sites
Alaerte Gabriel 662 Denunciar post Postado Junho 13, 2013 Macacos me mordam... OBRIGADO hinom. Mutia coisa no juízo... :skull: Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Junho 13, 2013 Alaerte, Hinom. Obrigadoooooo! terra olá, então, pintou esse erro Division by zero in on line 504 $max = (isset($row['gostei'] )and $row['gostei'] != '') ? $row['gostei'] : 1; $now = (isset($row['naogostei']) and $row['naogostei'] != '') ? $row['naogostei'] : 1; $var_class[$i]['naogostei']=number_format($max / $now * 100); //erro nessa linha 504 valeu Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Junho 13, 2013 deram o peixe ao invés de ensiná-lo a pescar. quer aprender a pescar ? Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Junho 13, 2013 Opa! claro. Valeu Compartilhar este post Link para o post Compartilhar em outros sites
cristianoolv 93 Denunciar post Postado Junho 13, 2013 c quer o que ? achar a porcentagem? ... Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Junho 13, 2013 olá, sim, na verdade funciona ou seja mostra para usuario o percentual normal, mas esta criando arquivo error_log com erro Division by zero. a linha do erro é essa: $var_class[$i]['naogostei']=number_format($max / $now * 100); //erro nessa linha 504 valeu Compartilhar este post Link para o post Compartilhar em outros sites
Enrico Pereira 299 Denunciar post Postado Junho 13, 2013 Qual é o error_reporting definido? Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Junho 14, 2013 O erro "Division by zero" é um aviso de erro comum em praticamente todas as linguagens de programação. A mensagem indica que erro foi causado por tentar efetuar uma operação de divisão com número ZERO. Nenhum número é divisível por ZERO e, o ZERO não é divisível por nenhum número. Portanto, antes de efetuar a divisão, verifique se os operadores são maior que ZERO. if( $max > 0 and $now > 0 ){ $var_class[$i]['naogostei']=number_format($max / $now * 100); //erro nessa linha 504 }else{ $var_class[$i]['naogostei']=1; // aqui vc define um valor padrão.. coloquei 1 apenas para exemplo. } Para esses casos de condicionais simples recomendo usar a sintaxe alternativa $var_class[$i]['naogostei'] = ( $max > 0 and $now > 0 ) ? number_format($max / $now * 100) : 1; Compartilhar este post Link para o post Compartilhar em outros sites
terra 1 Denunciar post Postado Junho 15, 2013 Valeu pessoal. Obrigado! Acho que não vou iniciar outro topico(correto?). Então, tenho o select abaixo que não esta funcionando. $ps=mysql_query("select modelo, COUNT(id) from tabela where 1=1 and sub_cat_id='$subcat_id' GROUP BY modelo") or die('Query Error!'); //////////////verify myself list $var_ps=mysql_num_rows($ps); o que quero fazer Tenho, por exemplo, a sub cat CARRO e o campo modelo (que não é categoria) eu contar quantos modelo de cada tem na subcat CARRO. Valeu Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Junho 15, 2013 abra outro tópico pois trata-se de outro assunto.. Compartilhar este post Link para o post Compartilhar em outros sites