Ir para conteúdo

POWERED BY:

Arquivado

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

munarolo

[Resolvido] Desafio Formulário/Tabela PHP com MySQL

Recommended Posts

Bom dia pessoal.

 

Sou iniciante em PHP e estou criando um formulário para minha empresa. Tudo que fiz foi pesquisando no Google, copiando, colando e adaptando para minha necessidade.

 

Enfim... A tabela/formulario é esta:

 

43949674.png

 

Index.php:

<body>
   	<center><img src="img/logo.png" /></center>
   <br />
<div id="formulario">
   	<?php
   		echo "Olá, " . $_SESSION['usuarioUsuario'];
	?>
</div>
   <br />
   <div id="tabela">
   	<table border="2" bordercolor="#650000">
           <tr>
             <th>COD. INOVE (5 digitos)</th>
             <th>UF</th>
             <th>COMARCA</th>
             <th>AUTOR</th>
             <th>DATA DA CONCLUSAO</th>
             <th>VALOR DO ATO</th>
             <th>KMs</th>
             <th>VALOR TOTAL DESPs.</th>
             <th>TIPO DESPs.</th>
           </tr>
		<?php
			include("tabela.php");
		?>
        </table>
   </center>
   </div>
</body>

 

tabela.php:

<div>
   <form action="tabela2.php" method="post" name="form">
               <tr>
                 <td><input type="text" name="cod" id="cod" maxlength="5" onfocus="this.style.backgroundColor='#cd8080'" onblur="this.style.backgroundColor='#fff'" onkeypress="return numero(event)" size="25"></td>
                 <td>
                 <select name="cod_estados" id="cod_estados">
                   <option value="">--</option>
                   <?php
                   $sql = "SELECT sigla, cod_estados
                           FROM estados
                           ORDER BY sigla";
                   $res = mysql_query( $sql );
                   while ( $row = mysql_fetch_assoc( $res ) ) {
                   echo '<option value="'.$row['cod_estados'].'">'.$row['sigla'].'</option>';
                   }
               	?>
          		 </select></td>
                 <td>
                   <select name="cod_cidades" id="cod_cidades" style="width: auto; min-width: 200px !important;" OnKeyPress="formatar('#####', this)">
                       <option>SELECIONE O ESTADO</option>
                   </select>
                 </td>
                 <td><input type="text" name="autor" id="autor" size="30" onKeyPress="javascript:retiraAcento(this);" onfocus="this.style.backgroundColor='#cd8080'" onblur="this.style.backgroundColor='#fff'"></td>
                 <td><input type="text" name="dataconcl" size="22" onfocus="this.style.backgroundColor='#cd8080'" onblur="this.style.backgroundColor='#fff'" OnKeyPress="formatar('##/##/####', this)" maxlength="10"></td>
                 <td><input type="text" name="valorato" size="15" maxlength="10" onfocus="this.style.backgroundColor='#cd8080'" onblur="this.style.backgroundColor='#fff'" onkeypress="return virgula( this , event ) ;"></td>
                 <td><input type="text" name="kms" size="10" maxlength="3" onfocus="this.style.backgroundColor='#cd8080'" onblur="this.style.backgroundColor='#fff'" onkeypress="return virgula( this , event ) ;"></td>
                 <td><input type="text" name="valordesp" size="22" maxlength="6" onfocus="this.style.backgroundColor='#cd8080'" onblur="this.style.backgroundColor='#fff'" OnKeyPress="formatar('000,00', this)"></td>
                 <td><select name="descricaodesp" id="descricaodesp" style="width: auto; min-width: 120px !important;">
                       <option value=""></option>
                       <option value="pedagio">PEDAGIO</option>
                       <option value="correio">CORREIO</option>
                       <option value="guia">GUIA</option>
                       <option value="impressoes">IMPRESSOES</option>
                       <option value="xerox">XEROX</option>
                       <option value="2oumaisdesp">2 OU MAIS DESP.</option>
                   </select></td>             
        </tr>
        <input type="submit" class="submit" value=" Enviar "> 
   </form>
</div>

 

Para chegar a esta pagina há uma tela de login e senha em SESSION.

Gostaria que conforme o usuario "X" preenchesse e enviasse as informações pro banco de dados, elas fossem exibidas na parte de baixo do da tabela, como se inserisse uma linha na tabela, mas que exibisse somente as informações enviadas por essa SESSION.

 

Nao sei se expliquei bem, mas qualquer duvida estou a disposição.

 

Obrigado desde já!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o usuário puder ver a tabela somente se estiver logado, adicione uma linha manual com as informações da $_SESSION que você deseja exibir.

 

Se qualquer usuário pode ver — logados ou não —, então faça uma verificação para ver se o usuário está logado. Veja:

 

<?php if ($_SESSION['isLogged']) { ?> 
<tr>
<th><?= $_SESSION['user_name']; ?></th>
<th><?= $_SESSION['user_email']; ?></th>
</tr>
<?php } ?>

Deu pra entender?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se o usuário puder ver a tabela somente se estiver logado, adicione uma linha manual com as informações da $_SESSION que você deseja exibir.

 

Se qualquer usuário pode ver — logados ou não —, então faça uma verificação para ver se o usuário está logado. Veja:

 

<?php if ($_SESSION['isLogged']) { ?> 
<tr>
<th><?= $_SESSION['user_name']; ?></th>
<th><?= $_SESSION['user_email']; ?></th>
</tr>
<?php } ?>

Deu pra entender?

 

Entendi, mas não é o que eu preciso...

 

Eu gostaria de exibir cada lançamento dele(SESSION) no banco de dados.

 

Exemplo: Ele preenche o formulário com as infos e clica em enviar. As infos são inseridas na linha de baixo. Ele preenche novamente, clica em enviar e é inserida outra linha com as infos inseridas.

 

Deu pra entender?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu.

 

Faça uma tabela no banco de dados temporária, ué. Com sessões você teria que criar índices recursivos para cada envio — não faz sentido.

 

Quando o usuário deslogar, limpe os registros dele na tabela — é simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deu.

 

Faça uma tabela no banco de dados temporária, ué. Com sessões você teria que criar índices recursivos para cada envio — não faz sentido.

 

Quando o usuário deslogar, limpe os registros dele na tabela — é simples.

 

 

Sim, minha ideia foi justamente esta.

 

Criar 2 tabelas: A Central, que vai armazenar os cadastros e uma temporária que serviria somente pra exibir as infos na tela e seria excluída no final da sessão.

 

Acredito que a lógica esteja certa, porém não sei executa-la!

Compartilhar este post


Link para o post
Compartilhar em outros sites

É simples.

 

Quando você inserir um dado na tabela central, insira, simultaneamente, na tabela de logs temporários. Depois, dinamicamente ou não, traga as informações dessa tabela para o usuário em questão.

 

Para identificar que os logs são referentes a um usuário em específico, utilize uma coluna identificadora (elas geralmente são conhecidas por "id", "uid" ou "userid").

 

Depois disso, na mesma ação de deslogar, dê um delete em todo/qualquer log inserido na tabela referente a este usuário.

 

Deu pra entender?

Compartilhar este post


Link para o post
Compartilhar em outros sites

É simples.

 

Quando você inserir um dado na tabela central, insira, simultaneamente, na tabela de logs temporários. Depois, dinamicamente ou não, traga as informações dessa tabela para o usuário em questão.

 

Para identificar que os logs são referentes a um usuário em específico, utilize uma coluna identificadora (elas geralmente são conhecidas por "id", "uid" ou "userid").

 

Depois disso, na mesma ação de deslogar, dê um delete em todo/qualquer log inserido na tabela referente a este usuário.

 

Deu pra entender?

 

 

Deu sim, vou tentar fazer isso na prática, qualquer dúvida eu posto aqui.

 

Muito obrigado pela ajuda!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Disponha! :thumbsup:/>

 

Cara, pra dar um retorno e ensinar alguém com a mesma dúvida.

Consegui dessa forma sem a tabela temporária. Me resolveu beeeem!

 

<?php
mysql_connect("localhost", "root", "root") or die (mysql_error ());

// Seleciona o Banco de Dados
mysql_select_db("cadastro") or die(mysql_error());

$usuarioUsuario = $_SESSION['usuarioUsuario'];

// query SQL
$strSQL = "SELECT * FROM tabela WHERE usuarioNome = '$usuarioUsuario'";

// Executa a query (o recordset $rs contém o resultado da query)
$rs = mysql_query($strSQL);

// Loop pelo recordset $rs
while($row = mysql_fetch_array($rs)) {

// Escreve o valor da coluna FirstName e BirthDate
echo $row['usuarioNome'] . " " . $row['cod'] . "<br />";

}
?>

 

Obrigado!

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.