Leo m 0 Denunciar post Postado Setembro 18, 2009 Olá, boa noite. Achei um script interessante de avaliação por estrelas. Ele funciona perfeitamente, mas, ao rodar o script sem voto nenhum, ele retorna erro: Warning: Division by zero in. Na tabela tem: id, votos, pontos id = auto_increment votos = total de pessoas que votou pontos = total de pontos Ele funciona perfeitamente, mas, se na tabela for votos = 0 e pontos = 0, ele retorna erro: Warning: Division by zero in. Como ocultar este erro na pagina para ninguém ver? Segue o código do php e tabela: <? mysql_connect('servidor','usuario','senha'); mysql_select_db('banco_de_dados'); $id = $_GET['post']; $SQL = "SELECT votos, pontos FROM registro WHERE id = $id"; $RS = mysql_query($SQL); $RF = mysql_fetch_array($RS); // Aqui está o erro: $r = number_format($RF['pontos'] / $RF['votos'],2,'.','.'); ?> Aqui aparecerão as estrelas: <form style="display:none" title="Average Rating: <?=$r?>" class="rating" action="rate.php"> <input type="hidden" name="id" value="<?=$id?>"> <input type="hidden" name="valor" value="1" /> <select id="r1"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> </form> Grato pela atenção, ah, e prometo agradecer a cada resposta! :lol: Compartilhar este post Link para o post Compartilhar em outros sites
AlanDariva 2 Denunciar post Postado Setembro 18, 2009 //Você pode usar o sinal de arroba: $r = @number_format($RF['pontos'] / $RF['votos'],2,'.','.'); //Ou fazer um if $r = "0.00"; if ($RF['votos'] != 0) $r = number_format($RF['pontos'] / $RF['votos'],2,'.','.'); Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Setembro 18, 2009 //Você pode usar o sinal de arroba: //... Divisão por 0 não é um erro que se deve esconder, ele deve ser tratado. O uso da condicional é forma mais correta para resolver esse problema //Ou fazer um if $r = "0.00"; if ($RF['votos'] != 0) $r = number_format($RF['pontos'] / $RF['votos'],2,'.','.'); Compartilhar este post Link para o post Compartilhar em outros sites
Leo m 0 Denunciar post Postado Setembro 18, 2009 http://forum.imasters.com.br/public/style_emoticons/default/joia.gif Nossa muito obrigado ao AlanDariva e ao João Batista Neto, estou muito grato. O tratamento funcionou direitinho. :lol: Compartilhar este post Link para o post Compartilhar em outros sites