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

While subscrevendo dados em vez de agregar


Adenison Santos

Pergunta

Amigos,

Estou desenvolvendo uma ferramenta de schedule que funciona como uma agenda onde a empresa cadastraria o nome do consultor, o projeto e cliente q ele vai estar, o dia e o endereco, e a descricao do trabalho a ser executado..

Para cadastrar eu estou conseguindo tranquilamente, porém quando faço select na tabela ele só esta trazendo o ultimo registro.. A idéia é trazer todas as visitas cadastrada..

Não estou conseguindo montar o while corretamente, já tentei tanto que não estou conseguindo entender o que esta faltando para esse select trazer tudo que esta no banco?

Tá osso.. Agradeço a ajuda

<?

include "config.php";

$db = mysql_connect ($host, $login_db, $senha_db); //conecto ao mysql
$basedados = mysql_select_db($database); //selecionamos o banco escolhido

$usuario = mysql_query("SELECT * FROM `$tabela`") or print (mysql_error());
while($linha = mysql_fetch_array($usuario)){
 $consultor = $linha["consultor"];
 $projeto = $linha["projeto"];
 $cliente = $linha["cliente"];
 $local = $linha["local"];
 $dtevento = $linha["dtevento"];
 $descricao = $linha["descricao"];
}
?>
<html>
<head>
<title>Documento sem t&iacute;tulo</title>
</head>

<body>

<table width="50%" border="0" align="left">
        <tr>
                <td colspan="2" align="center" bgcolor="#f5f5f5"><p><strong>Visitas Cadastradas</strong>
                </p></td>
        </tr>
    <tr>
      <td width="145" height="20"><font color="#666666" size="1" face="Verdana, Arial, Helvetica, sans-serif">Consultor:</font></td>
      <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><? echo $consultor ?>&nbsp; </font></td>
    </tr>
    <tr>
      <td width="145" height="20"><font color="#666666" size="1" face="Verdana, Arial, Helvetica, sans-serif">Projeto:</font></td>
      <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><? echo $projeto ?>&nbsp; </font></td>
    </tr>
    <tr>
      <td width="145" height="20"><font color="#666666" size="1" face="Verdana, Arial, Helvetica, sans-serif">Cliente</font></td>
      <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><? echo $cliente ?>&nbsp; </font></td>
    </tr>
    <tr>
      <td width="145" height="20"><font color="#666666" size="1" face="Verdana, Arial, Helvetica, sans-serif">Local:</font></td>
      <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><? echo $local ?>&nbsp; </font></td>
    </tr>
    <tr>
      <td width="145" height="20"><font color="#666666" size="1" face="Verdana, Arial, Helvetica, sans-serif">Data da Visita:</font></td>
      <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><? echo $dtevento ?></font></td>
    </tr>
    <tr>
      <td width="145" height="20"><font color="#666666" size="1" face="Verdana, Arial, Helvetica, sans-serif">Descricao do Projeto</font></td>
          <td width="377" height="20"><font size="1" face="Verdana, Arial, Helvetica, sans-serif"><? echo $descricao ?>&nbsp; </font></td>
        </tr>
        
  </table>
</body>
</html>

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
Você tem que colocar a tabela dentro do while, para que em cada iteração do laço ela exiba os dados correspondentes.

ESerra, eu não estou colocando a tabela dentro do while nessa linha de código uma vez que $usuario é o resultado do select?

$usuario = mysql_query("SELECT * FROM `$tabela`") or print (mysql_error());
while($linha = mysql_fetch_array($usuario)){

Link para o comentário
Compartilhar em outros sites

  • 0

Na verdade você não tem que colocar a tabela dentro do while, e sim o while dentro da tabela rsrs

Da forma que você está fazendo os valores realmente vão serem sobrescrito pois as variáveis que recebe o valor de $linha[] não são arrays e sim string comuns, logo se você atribuir outro valor para essas variáveis, elas perderão o que havia antes e ficarão somente com o valor da última atribuição.

O que você tem que fazer é colocar o while dentro da tabela e no while você imprimir as colunas e linhas da tabela junto com os valores...

ps: não utilize a tag <? para iniciar código PHP pois esta tag deixará de funcionar no PHP6. Ao invés disto, utilize <?php

ps2: seria muito mais fácil você estilizar a tabela por CSS e não direto no HTML. Com CSS é muito mais fácil, bem menos código e o código fica bem mais limpo!

<?php

    include "config.php";

    $db = mysql_connect ($host, $login_db, $senha_db) or die(mysql_error());//conecto ao mysql
    $basedados = mysql_select_db($database) or die(mysql_error());//selecionamos o banco escolhido

    $usuario = mysql_query("SELECT * FROM $tabela") or die(mysql_error());
    
?>

<html>
    <head>
        <title>Documento sem título</title>
        <style type="text/css">
            #tabelaVisitas td{
                 font: 1px Verdana, Arial, Helvetica, sans-serif;
                 height: 20px;
                 color: #666666;
            }
            #tabelaVisitas thead td{
                font-weight: bold;
                background-color: #f5f5f5;
                text-align: center;
            }
            #tabelaVisitas .campo{
                width: 145px;
            }
            #tabelaVisitas .valor{
                width: 377px;
            }
        </style>
    </head>

    <body>
        <table id='tabelaVisitas' width="50%" border="0" align="left">
            <thead>
                <td colspan="2">Visitas Cadastradas</td>
            </thead>
            <?php
                while($linha = mysql_fetch_array($usuario)){
                    echo "<tr>";
                        echo "<td class='campo'>Consultor:</td>";
                        echo "<td class='valor'>".$linha['consultor']."</td>";
                    echo "</tr>";
                    echo "<tr>";
                        echo "<td class='campo'>Projeto:</td>";
                        echo "<td class='valor'>".$linha['projeto']."</td>";
                    echo "</tr>";
                    echo "<tr>";
                        echo "<td class='campo'>Cliente:</td>";
                        echo "<td class='valor'>".$linha['cliente']."</td>";
                    echo "</tr>";
                    echo "<tr>";
                        echo "<td class='campo'>Local:</td>";
                        echo "<td class='valor'>".$linha['local']."</td>";
                    echo "</tr>";
                    echo "<tr>";
                        echo "<td class='campo'>Data da Visita:</td>";
                        echo "<td class='valor'>".$linha['devento']."</td>";
                    echo "</tr>";
                    echo "<tr>";
                        echo "<td class='campo'>Descrição do Projeto:</td>";
                        echo "<td class='valor'>".$linha['descricao']."</td>";
                    echo "</tr>";
                    echo "<tr><td>&nbsp;</td></tr>";
                }
            ?>
        </table>
    </body>
</html>

Editado por Stoma
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
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...