Ir para conteúdo
Fórum Script Brasil
  • 0

Probleminha No While


fabiosanches

Pergunta

aí pessoal.. to com um probleminha aqui meio basico cara so que eu to quebrando cabeça aqui.. tipo eu tenho uma função while aqui que varre os campos do banco e exibe 3 campos porém se eu tiver menos de 3 campos cadastrados no banco ela me traz um erro de que não encontrou nada no banco tipo

Warning: Unable to jump to row 2 on MySQL result index 2 in c:\apache\htdocs\siteitamil\banner\banner.php on line 20

porém eu queria fazer um teste para tipo se for menor que 3 ele me traga apenas 2 e não me mostre esse erro de que não encontrou nada.. como que eu faço isso.. o meu while é o seguinte.

$conta = 0;
while($conta <= 2)
{
$foto = mysql_result ($sql, $conta, foto);
?>
<table width="200" height="100" border="0">
<tr>
<td><? echo "<a href=java script:window.open('','','scrollbars=yes,height=400,width=400');history.go(9)><img border=0 src='$foto' width=200 heigth=100 alt=''></a>&nbsp;</td> " ?></td>
</tr>
</table>
<? $conta++;
}[/codebox]

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Deixa eu ver se entendi. Existe uma tabela com 3 campos no banco e se você não buscar os 3 dá erro?

Se for isso, faça o seguinte ...

$sql = "SELECT * FROM tabela";
$linhas = mysql_num_rows($sql);

for($i=0;$i<$linhas;$i++)
{
    $campo1 = mysql_result($sql,$i,"campo1");
    $campo2 = mysql_result($sql,$i,"campo2");
}

Desta forma podes pegar os campos que quiseres sem precisar serem todos eles. Você estará especificando quais campos quer pegar.

Editado por Renato Penna
Link para o comentário
Compartilhar em outros sites

  • 0

cara.. você entendeu +- hehe.. tipo eu posso ter 200 itens no banco.. so que eu vo exibir apenas de 3 em 3 sacou? porém se eu tiver apenas 2 itens no banco ou seja.. menos de 3 ele da aquele erro la.. mais se eu tiver 3 ou mais de 3 funciona perfeito cara... ai tipo.. eu queria que quando eu tivesse menos de 3 itens não desse erro sacou? tipo um if($foto==NULL) return.. +- isso.. a ideia eu ate tenho mais a sintaxe que eu não to assimilando na moral aqui.. :(

Link para o comentário
Compartilhar em outros sites

  • 0

Deixa assim:

$conta = 0;
while($conta <= 2)
{
$foto = mysql_result ($sql, $conta, foto);
if ($foto == ""){}else{
?>
<table width="200" height="100" border="0">
<tr>
<td>
<? echo "<a href=java script:window.open('','','scrollbars=yes,height=400,width=400');history.go(9)><img border=0 src='$foto' width=200 heigth=100 alt=''></a>&nbsp;</td> " ?></td>
</tr>
</table>
<? 
}
$conta++;
}

Link para o comentário
Compartilhar em outros sites

  • 0

Ok... o problema está em outro lugar...

Na $sql coloca o LIMIT como sendo 3 (para pegar apenas 3 resultados)... dai deixa o script assim:

$conta = 0;
$controle = 1;
$conta_reg = mysql_num_rows($sql);
while ($controle <= $conta_reg){
{
$foto = mysql_result ($sql, $conta, foto);
?>
<table width="200" height="100" border="0">
<tr>
<td>
<? echo "<a href=java script:window.open('','','scrollbars=yes,height=400,width=400');history.go(9)><img border=0 src='$foto' width=200 heigth=100 alt=''></a>&nbsp;</td> " ?></td>
</tr>
</table>
<?
$conta++;
$controle++;
}

Link para o comentário
Compartilhar em outros sites

  • 0

$conta = 0;
while(($conta <= 2) and ($conta < mysql_num_rows($sql)))
{
$foto = mysql_result ($sql, $conta, foto);
?>
<table width="200" height="100" border="0">
<tr>
<td><? echo "<a href=java script:window.open('','','scrollbars=yes,height=400,width=400');history.go(9)><img border=0 src='$foto' width=200 heigth=100 alt=''></a>&nbsp;</td> " ?></td>
</tr>
</table>
<? $conta++;
}[/codebox]

Será que isso ajuda??? Só acrescentei a comparação do seu contador ao número de linhas do resultado da sua consulta...

Será???

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...