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

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
  • 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

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 tii3030
      Olá, gostaria de saber qual a melhor maneira de selecionar e verificar a senha hash(senha) em um banco de dados e comparar com a senha inserida pelo usuário em um formulário de login. É mais adequado armazenar no BD o salt ? No exemplo abaixo eu criei o hash da senha antes de selecionar no banco:
      <?php include('conf.php'); $email = 'lala@123.com'; $senha = 'lala.123'; $custo = '08'; $salt = 'Cf1f11ePArKlBJomM0F6aJ'; $hash = crypt($senha, '$2a$' . $custo . '$' . $salt . '$'); $query_select = "SELECT email, password FROM usuarios WHERE email = '$email' AND password = '$hash'"; $select = mysqli_query($conexao,$query_select); if (mysqli_num_rows($select) == 1) { echo "Login Permitido"; } else { echo "Login ou senha invalidos"; } ?> Já neste exemplo eu selecionei o hash no banco para depois comparar com a senha inserida no formulário utilizando o password_verify():
      <?php #----------------- INCLUDING FILE --> "conf.php" include('conf.php'); if (isset($_POST['submit'])) { $email = mysqli_real_escape_string($conexao, $_POST['email']); $password = mysqli_real_escape_string($conexao, $_POST['password']); $query_select_email = "SELECT email FROM usuarios WHERE email = '$email'"; $select_email = mysqli_query($conexao,$query_select_email); $query_select_password = "SELECT password FROM usuarios"; $select_password = mysqli_query($conexao,$query_select_password); while($array = mysqli_fetch_array($select_password)) { $logarray = $array['password']; if (password_verify($password, $logarray) && mysqli_num_rows($select_email) == 1) { echo "Login permitido"; } } } ?> Aceito qualquer dica relacionado a segurança e para melhorar o código, desde já agradeço.
    • By Gniusplay
      Olá pessoal, eu tenho um sistema de comentários que quando um "player" preenche esse comentário, ele vai direto para pagina inicial, funciona como um feedback, só que ele pode usar isso várias e várias vezes, eu queria que ele usasse apenas uma vez e não pudesse mais utilizar, sendo assim só seria possível usar uma vez.
      Ou q só poderia usar se tivesse x quantidades de pontos no banco de dados(eu tenho uma coluna com pontos) e a cada vez que ele usasse esse formulário(comentário), ele perderia 1 ponto,e  quando não tivesse mais pontos, ele não poderia comentar.
      Alguém tem alguma ideia de como posso fazer isso? e qual funções utilizar?
      VALEUU!!!
    • By tii3030
      Olá pessoal, desenvolvi um pequeno código em PHP com a função de verificar e validar usuário e senha de um formulário, juntamente com o meu banco de dados MySql.
      Gostaria de saber como aprimorar o meu código para torna-lo mais seguro e mais próximo de algo "profissional". Lembrando que minha senha no banco está criptografada (PASSWORD_BCRYPT).
       
      <?php
          #----------------- INCLUDING FILE --> "conf.php"
          include('conf.php');
              if (isset($_POST['submit'])) {
             
      #--------------------------------INPUTS ---------------------------------------------#
                  $email = mysqli_real_escape_string($conexao, $_POST['email']);
                  $password = mysqli_real_escape_string($conexao, $_POST['password']);
      #-----------------------#----------------------#-----------------_#-------------------#
                  $query_select_email = "SELECT email FROM usuarios WHERE email = '$email'";
                  $select_email = mysqli_query($conexao,$query_select_email);
                  $query_select_password = "SELECT password FROM usuarios";
                  $select_password = mysqli_query($conexao,$query_select_password);
                  while($array = mysqli_fetch_array($select_password)) {
                  $logarray = $array['password'];
                  
                      if (password_verify($password, $logarray)) {
                          if (mysqli_num_rows($select_email) == 1) {
                              
                          $_SESSION['email'] = $email;
                          header('location: XXX.html');
                          exit();
                          }
                      }
                      else {
                          echo "Loguin ou senha incorretos";
                      }
                  $logarray = '0';
                  }
              }
      ?>
×

Important Information

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