Jump to content
  • 0
Thiago Ladislau

Como salvar varios Input de uma mesma linha no banco

Question

Olá 

Estou em uma teste onde terei uma planilha dinamica com diversos campos de um Cadastro em uma unica linha, ex:  Nome, Idade e Observação.

 

Sendo que eu só consigo salvar registro de um único Input por linha, que é o campo IDADE.

Estou utilizando um foreach, não sei se é o melhor caminho. preciso de forma para salvar N registros, linha por linha. nesse exemplo estou apenas imprimindo em tela.

 

TABELA  DO FORMULARIO

<form method="post" action="gravaregistro.php">

<table width="900" border="1">
  <tr>
    <td colspan="3">Registros</td>
  </tr>
  <tr>
    <td width="159">&nbsp;</td>	
    <td width="334">Idade</td>
    <td width="385">Observação</td>
  </tr>
  <tr>
    <td>Pedro Henrique</td>
    <td><input type="text" name="idade[]" id="idade" /></td>
    <td><label for="idade[]">
      <input type="text" name="obs[]" id="obs" />
    </label></td>
  </tr>
  <tr>
    <td>Ana Claudia</td>
    <td><input type="text" name="idade[]" id="idade" /></td>
    <td><label for="idade[]">
      <input type="text" name="obs[]" id="obs" />
    </label></td>
  </tr>
</table>
<p>
  <input type="submit" name="Confirma" id="Confirma" value="SALVAR" />
</p>
</form>

ABAIXO O COD QUE HOJE SALVA APENAS A IDADE

 

<?php

	foreach($_POST["idade"] as $idade) {
    	echo $idade.'<br>';
	}

?>

Preciso saber uma forma de Imprimir na tela idade e observação ao mesmo tempo!

porque depois vou converter isso em um INSERT.

 

obrigado

 

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Isso mesmo , obrigado pela ajuda.

Funcionou.

ficou assim!

 

 $aux = 0;
 $aux = count($_POST['idade']); //conta quantos campos foram preenchidos, por exemplo, nome...
 
for ($i = 0; $i < $aux; $i++) {
    echo $_POST['idade'][$i] .' | '. $_POST['obs'][$i].'<br>';
}

Share this post


Link to post
Share on other sites
  • 0

Ola Thiago..

Seguinte, eu faço da seguinte forma.. mas não sei se é a forma mais indicada...

No meu formulário, cada registro tem um "name" diferente.. Ex.:

<tr>
    <td>Pedro Henrique</td>
    <td><input type="text" name="idade_1" id="idade_1" /></td>
    <td><label for="idade_1">
      <input type="text" name="obs_1" id="obs_1" />
    </label></td>
  </tr>
  <tr>
    <td>Ana Claudia</td>
    <td><input type="text" name="idade_2" id="idade_2" /></td>
    <td><label for="idade_2">
      <input type="text" name="obs_2" id="obs_2" />
    </label></td>
</tr>
<input type="hidden" name="contador" value="2" />

No meu caso, quando vou fazer o insert no banco, no seu caso seria imprimir na tela.. eu uso um "for" para inserir os dados no banco.

Ex.:

for ($i=1; $i<=$_POST[contador]; $i++) {
   echo "Idade: ".$_POST[idade_.$i]." - Obs: ".$_POST[obs_.$i]."<br/>";
}

Sacou?

Isso resolveu meu problema, que é parecido com o seu.

 

Obs.: Geralmente não se repete valor de ID.

Edited by Cesar Melo
correção do código q digitei errado.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Gih Peixoto
      Boa noite, eu preciso fazer uma linha do tempo, e queria que ela fosse animada, por exemplo: quando o usuário da scroll na tela, as informações  (imagens)  começam a aparecer. Eu achei um código para essa parte, mas eu não queria que a imagem simplesmente brotasse na tela, eu queria que ela deslizasse dos cantos da tela e parasse do lado da linha. Alguém sabe como fazer algo parecido com isso? Espero que de para entender a explicação.
    • By gilcasaoutlook
      Senhores.
      Gostaria de Executar uma StoredProcedure em MySql
      e o resultado retornar em um DataTable.
      mas o retorno do DataTable não está dando certo.
      Tenho uma conexão com o mysql:
      public class Conexao
              private MySqlConnection conexao = null;
              private DataTable dt;
              private MySqlDataAdapter da;
              private MySqlCommandBuilder cb;
              private MySqlDataReader dr;
              private MySqlParameter[] pms;
              string StrConexao = "server=" + ConfigurationManager.AppSettings["server_name"] + ";" +
                                            "dataBase=" + ConfigurationManager.AppSettings["data_base"] + ";" +
                                            "port=" + ConfigurationManager.AppSettings["port_number"] + ";" +
                                            "User Id=root;" +
                                            "password=root";
              // Metodo conectar no banco.
              public MySqlConnection AbrirConexao()
              {
                  try
                  {
                      conexao = new MySqlConnection(StrConexao);
                      conexao.Open();
                      return conexao;
                  }
                  catch (Exception erro)
                  {
                      throw erro;
                  }
              }
      }
      Conexão está funcionando porque utilizo ela em outro recurso.
      Tenho uma Stored Procedure em MySql:
      CREATE DEFINER=`root`@`localhost` PROCEDURE `sp_seleciona_pessoa`()
      BEGIN
          
          select id, nome from pessoa;
          
      END
      Tenho uma função que retorna um DataTable:
       public DataTable RetDataTableStoredProc()
      {
                      MySqlCommand cmd = new MySqlCommand();
                      AbrirConexao();
                      cmd.Connection = conexao;
                      cmd.CommandType = CommandType.StoredProcedure;
                      cmd.CommandText = StoredProc;
                      dr = cmd.ExecuteReader();
                      dt.Load(dr);
                      return dt;
      }                
      O comando dr = cmd.ExecuteReader(); passa sem dar erro
      mas quando executo as duas linhas abaixo:
                      
                      dt.Load(dr);
                      return dt;
      e não retorna um DataTable.
      Conto com vossa ajuda.
      Att.
      Gilberto Rezende               
    • By LisRaf
      Olá Pessoal!
       
      Estou tendo um problema com um link no site do meu cliente...esse link envia o usuário para pagina de acesso a um ambiente online do aluno... entretanto, o endereço para essa pagina só pode ser acessado quando os estudante estão fora do wifi da escola, do contrario eles não conseguem acessar pelo link que eu implementei na imagem que esta no site. Existe outro endereço para quem está conectado no wifi da escola, como sou iniciante, só sei que tenho que ter um código que quando o usuário clicar no link vai verificar se está conectado no servidor interno, se não, ele joga para o servidor externo, porem... Não faço a minima ideia de como estruturar esse código e linkar ele junto a imagem do site... se alguém puder me ajudar please!!! já pesquisei tudo e não consigo sozinha!
    • By ppanetony
      Olá!
       
      Estou com um sistema em php onde alguns código estão duplicados.
      São códigos pequenos, simples, de no máximo umas 3 linhas.
      Esses código se repetem por vários arquivos.
      Qual a melhor maneira de eu extrair esses códigos para deixa-los como funções?!
      Um arquivo com várias funções, uma classe deixando essas funções como static, ..., ... ?!
       
       
      Valeu!
       
    • By drx
      Bom dia pessoal!
      Primeiramente, me perdoem a ignorância se minha pergunta for cabeluda, beleza pessoal?
      Me tirem uma dúvida aqui se possível.
      Eu envio a divulgação de um produto via e-mail a um cliente e ele recebe  uma pagina em php certo? É óbvio que ele receberá em html e suas tags.
      Quando o cliente clicar na imagem, então ele é redirecionado para uma loja virtual, correto?
      Esta página, pode interagir com um código php embutido nesta página tal como, identificar origem, link de quem enviou ?
       
      Aguardo.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.