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

Minha Tabela Só Aparece 01 Registro


Milk

Pergunta

fiz uma consulta e o caso é que como resultado a minha tabela deveria mostrar varios registros.. mas só mostra o primeiro...

como faço para mostrar o restante..

no MYSQL aparecem 19 registros , na tabela eu consultei e ela deveria ter os 19 mas só aparece o 1º....tem algo a ver com o Repeat Region do Dreamweaver... lá é facil de fazer.. mas no PHP estou vacilando...

ajuda ai...

valeu

TAI O CODIGO

<?

include "dbconfig.php";

?>

<html>

<head>

<title>BUSCA MES</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<?

echo"$mes";

$sql="SELECT nome_devedor,desc_conta,valor_conta,venc_conta, tipo_conta, status_conta

FROM debitos_copy,devedor

WHERE status_conta = 01 and debitos_copy.cod_devedor1 = devedor.codigo_devedor and substring(debitos_copy.venc_conta,6,2)=$mes";

$query = @mysql_query($sql);

if (!$query){

die ("Problemas ao executar o sql !!!");

} else {

$total = mysql_num_rows($query);

if($total == 0) {

echo "Não existem contas a vencer este mês";

} else {

if($total>0)

echo "Existem $total contas a vencer no mês $mes";

while ($coluna = @mysql_fetch_array($query)){

$nome = $coluna["nome_devedor"];

$descricao = $coluna["desc_conta"];

$vencimento = $coluna["venc_conta"];

$valor = $coluna["valor_conta"];

$status = $coluna["status_conta"];

$tipo = $coluna["tipo_conta"];

//echo "<b>$nome</b><br>$descricao<br>$vencimento<br>$valor<br>$status<br><br>";

}

}

}

?>

<table width="96%" border="1">

<tr>

<td width="20%"><div align="center"><strong><font size="1" face="Verdana">Quem

Paga</font></strong></div></td>

<td width="22%"><div align="center"><strong><font size="1" face="Verdana">Descri&ccedil;&atilde;o</font></strong></div></td>

<td width="21%"><div align="center"><strong><font size="1" face="Verdana">Vencimento</font></strong></div></td>

<td width="18%"><div align="center"><strong><font size="1" face="Verdana">Valor

R$</font></strong></div></td>

<td width="1%"><div align="center"><strong><font size="1" face="Verdana">Tipo</font></strong></div></td>

<td width="18%"><div align="center"><strong><font size="1" face="Verdana">Status</font></strong></div></td>

</tr>

<tr>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$nome"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$descricao"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$vencimento"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$valor"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$tipo"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$status"; ?></font></div></td>

</tr>

</table>

<?

mysql_close($conn);

?>

</body>

</html>

Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

AI VAI O CODIGO

<?

include "dbconfig.php";

?>

<html>

<head>

<title>BUSCA MES</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

<body>

<?

echo"$mes";

$sql="SELECT nome_devedor,desc_conta,valor_conta,venc_conta, tipo_conta, status_conta

FROM debitos_copy,devedor

WHERE status_conta = 01 and debitos_copy.cod_devedor1 = devedor.codigo_devedor and substring(debitos_copy.venc_conta,6,2)=$mes";

$query = @mysql_query($sql);

if (!$query){

die ("Problemas ao executar o sql !!!");

} else {

$total = mysql_num_rows($query);

if($total == 0) {

echo "Não existem contas a vencer este mês";

} else {

if($total>0)

echo "Existem $total contas a vencer no mês $mes";

while ($coluna = @mysql_fetch_array($query)){

$nome = $coluna["nome_devedor"];

$descricao = $coluna["desc_conta"];

$vencimento = $coluna["venc_conta"];

$valor = $coluna["valor_conta"];

$status = $coluna["status_conta"];

$tipo = $coluna["tipo_conta"];

//echo "<b>$nome</b><br>$descricao<br>$vencimento<br>$valor<br>$status<br><br>";

}

}

}

?>

<table width="96%" border="1">

<tr>

<td width="20%"><div align="center"><strong><font size="1" face="Verdana">Quem

Paga</font></strong></div></td>

<td width="22%"><div align="center"><strong><font size="1" face="Verdana">Descri&ccedil;&atilde;o</font></strong></div></td>

<td width="21%"><div align="center"><strong><font size="1" face="Verdana">Vencimento</font></strong></div></td>

<td width="18%"><div align="center"><strong><font size="1" face="Verdana">Valor

R$</font></strong></div></td>

<td width="1%"><div align="center"><strong><font size="1" face="Verdana">Tipo</font></strong></div></td>

<td width="18%"><div align="center"><strong><font size="1" face="Verdana">Status</font></strong></div></td>

</tr>

<tr>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$nome"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$descricao"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$vencimento"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$valor"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$tipo"; ?></font></div></td>

<td><div align="center"><font size="1" face="Verdana"><?php echo"$status"; ?></font></div></td>

</tr>

</table>

<?

mysql_close($conn);

?>

</body>

</html>

valeu mesmo

Link para o comentário
Compartilhar em outros sites

  • 0

Amigo, onde você colocou:

if($total>0)

echo "Existem $total contas a vencer no mês $mes";

while ($coluna = @mysql_fetch_array($query)){

$nome = $coluna["nome_devedor"];

$descricao = $coluna["desc_conta"];

$vencimento = $coluna["venc_conta"];

$valor = $coluna["valor_conta"];

$status = $coluna["status_conta"];

$tipo = $coluna["tipo_conta"];

//echo "<b>$nome</b><br>$descricao<br>$vencimento<br>$valor<br>$status<br><br>";

}

substitua tudo por:

if ($total > 0) { // aqui você não abriu a chave do if no seu código

echo "Existem $total contas a vencer no mês $mes";

while ($coluna = @mysql_fetch_array($query)) {

echo "<b>" . $coluna["nome_devedor"] . "</b><br>";

echo $coluna["desc_conta"] . "<br>";

echo $coluna["venc_conta"] . "<br>";

echo $coluna["valor_conta"] . "<br>";

echo $coluna["status_conta"] . "<br><br>";

}

}

Aparentemente, o problema no seu código era a falta da abertura de uma chave no bloco do "if". De qualquer forma, funciona assim: (acho que você já sabe, mas beleza)

O mysql_fetch_array transformará em um array a primeira linha do resultado da consulta no banco de dados (que é $coluna["nome do campo no mysql"]). Se você usar essa função novamente, ele pegará a próxima linha do resultado da consulta. Por isso a função while é útil aqui, pois ela vai passar o mysql_fetch_array enquanto houver linhas no resultado da consulta. E, a cada passagem, ela vai escrever o conteúdo da linha que ela tá transformando em array.

Esse código serve para exibir, apenas. Se a sua idéia é associar cada linha do resultado em variáveis, o código vai mudar um pouco. Eu aconselharia o uso da função FOR ao invés de WHILE. Qualquer dúvida, entre em contato.

Um abraço.

Carlos

Link para o comentário
Compartilhar em outros sites

  • 0

Illidan, bom ter você aqui...

Espero que você possa sempre estar nos ajudando.

Esse tópico já está resolvido em outro tópico com a mesma dúvida é que ele postou três vezes e eu fechei só um e nem vi esse.

http://scriptbrasil.com.br/forum/index.php?showtopic=19755

Mais valeu, ajude sempre que puder em nosso comunidade.

Seja Bem vindo.

Link para o comentário
Compartilhar em outros sites

  • 0

Putz, agora que eu vi seu código inteiro... entendi o problema! Quando você tenta escrever a tablela usando as variáveis, ele só vai pegar a última atribuição àquelas variáveis (a última linha do resultado da consulta mysql). Bom, faça o seguinte:

Onde está:

if($total>0)

echo "Existem $total contas a vencer no mês $mes";

while ($coluna = @mysql_fetch_array($query)){

$nome = $coluna["nome_devedor"];

$descricao = $coluna["desc_conta"];

$vencimento = $coluna["venc_conta"];

$valor = $coluna["valor_conta"];

$status = $coluna["status_conta"];

$tipo = $coluna["tipo_conta"];

//echo "<b>$nome</b><br>$descricao<br>$vencimento<br>$valor<br>$status<br><br>";

}

Substitua tudo por:

if ($total > 0) {

echo "Existem $total contas a vencer no mês $mes";

?>

<table>

<?php

while ($coluna = @mysql_fetch_array($query)) {

echo "<tr><tdwidth=\"20%\"><b>" . $coluna["nome_devedor] . "</b></td><td>";

echo $coluna["desc_conta"] . "</td><td>";

echo $coluna["venc_conta"] . "</td><td>";

echo $coluna["valor_conta"] . "</td><td>";

echo $coluna["status_conta"] . "</td></tr>";

}

?>

</table>

<?php

}

?>

Aí você pode apagar a tabela do final. Ah, e coloque os atributos do <td> dentro do "echo", mesmo. Só não se esqueça que, quando tiver aspas, você deve colocar uma barra invertida na frente (do jeito que eu coloquei no primeiro TD, com width=\"20%\"). Aí você adapta o código. Se quiser criar uma linha antes dos nomes, vá lá no <table> e crie a linha como desejar até fechar com o </tr> (antes de iniciar o script com while), pois logo em seguida sera escrito um <tr> (que será a primeira linha do resultado).

Bom, espero ter ajudado.

Falou! Até mais!

Carlos

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.


  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...