Ir para conteúdo

POWERED BY:

Arquivado

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

Revolution Design

[Resolvido] Como resolver Warning Division by zero

Recommended Posts

Estou com o seguinte problema:

 

Warning: Division by zero in C:\AppServ\www\SINBAMA\exibindo.php on line 43

 

o código é o seguinte:

 

$tr = mysql_num_rows($todos); // verifica o nmero total de registros

$tp = $tr / $total_reg; // verifica o nmero total de pginas

 

Agradecido desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Simples, $total_reg é zero e por vir de mysql_num_rows(), significa que nenhum registro foi retornado da consulta.

 

Para resolver pra valer, faça um operador ternário. Se for zero, divide por um, senão, pelo valor certo:

 

$tp = $tr / ( $total_reg == 0 ? 1 : $total_reg );

Compartilhar este post


Link para o post
Compartilhar em outros sites

O erro não foi ocultado, foi corrigido.

 

Se nada veio do banco de dados, temos duas opções:

 

- Se essa consulta que por hora não retornou nada depende do valor de $tp, então a query que gera $total_reg está incorreta OU realmente não está retornando nada (muitas cláusulas WHERE podem causar esse efeito)

 

- Se essa consulta que por hora não retornou nada não depende do valor de $tp então é ela quem está errada.

 

Com isso em mente, forneça mais informações. Se cair no primeiro caso, precisamos de dados ANTES da criação de $tp. Se cair no segundo, precisamo de dados DEPOIS dele.

Compartilhar este post


Link para o post
Compartilhar em outros sites

AMIGO EU RETIREI AQUELE SISTEMA DE PAGINAÇÃO POIS ESTAVA DANDO MUITO TRABALHO, AGORA SE VOCÊ PUDER ME AJUDAR SO EM UMA COISINHA, SO ME DIZ PORQUE AS NOTICIAS CADASTRADAS NA CATEGORIA NAO APARECEM, FICA TUDO EM BRANCO, O SISTEMA ESTA ABAIXO , EXEMPLO: ?PG=EXIBINDO&CATEGORIA=BRASIL TINHA QUE APARECER TODAS AS NOTICIAS CADASTRADAS NA CATEGORIA BRASIL, E NAO APARECE NADA.

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<style>
.destaque{
	background:url(imagens/destaque.png);
height:32px;
width:700px;
text-align:left;
}
.historia{
position:absolute;
color:#333;
font-family:Georgia, "Times New Roman", Times, serif;
top:239px;
left:190px;
}

</style>
<body>
<table width="709" border="0" cellspacing="0" cellpadding="0" style="margin-left:30px">
<tr>
   <td width="709" height="32" background="imagens/destaque.png"><div align="left" style="color:#FFF; margin-bottom:10px; margin-left:16px;"><strong><a title="<? echo $categoria; ?>" href="?i=exibindo&categoria=<? echo $categoria; ?>" style="color:#FFF"><? echo $categoria; ?></a></strong></div></td>
   </tr>
</table>
<table width="680" border="0" cellpadding="0" cellspacing="0" style=" margin-left:30px; margin-top:5px" align="left">
 <tr>
   <td width="701" valign="top"><div id="noticia" class="ft1" style="text-align:justify; margin-left:5px; margin-right:3px; margin-top:6px;">
<?
$conn = mysql_connect("localhost","root","123456");
$banco = mysql_select_db("news");
// ------- aqui será implementada nossa proposta ------ //
// neste momento estamos montando o comando sql para
// podermos selecionar os dados de nossa tabela no banco de dados
$sql = "SELECT * FROM noticias WHERE categoria = '$categoria' ORDER BY data";
// agora utilizando a última função apresentada, faremos a
// execução consequentemente será criada a nossa tabela
$query = @mysql_query($sql);
// note que novamente foi utilizado o @(arroba) a frente da função
// agora faremos um teste para verificar se a função mysql_query
// foi bem sucedida
if (!$query){
die ("Problemas ao executar o sql !!!");
} else {
// neste ponto, faremos o tratamento das informações retornadas
// pela execução do sql de seleção de dados
while ($coluna = @mysql_fetch_array($query)){
// esta atribuição de coluna["coluna_da_tabela"] a uma
// variavel se dá pelo fato apenas de simplificar o
// entendimento do que está se fazendo
$id = $coluna["id"];
$categoria = $coluna["categoria"];
$titulo = $coluna["titulo"];
$data = $coluna["data"];
$hora = $coluna["hora"];
$foto = $coluna["foto"];
$titulo = stripslashes($titulo);
$subtitulo = stripslashes($subtitulotitulo);
// Aqui implementamos um limitador do número de letrar a
//serem exibidas na última notícia com imagem
$limite=47;
$titulo = substr($titulo, 0,$limite);
// agora através do comando echo pertencente ao PHP
// iremos apresentar os dados selecionados, na tela
if ($foto != "") {
?>
<div id='lista' align='left'>
    <? echo $hora; ?> - <a href='?i=exibir&noticia=<? echo $id; ?>'><? echo $titulo; ?>...</a><img src='img/maq.gif' width='14' height='14' border='0' title='NOTCIA COM IMAGEM' alt='NOTCIA COM IMAGEM'></div>
    <? }}} ?>
</div></td>
 </tr>
</table>
</body>
</html>

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.