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 viniciusfroner
      Boa noite, gostaria de saber se alguém conhece algum plug-in que gere esse tipo de mapa, no caso a antiga API do google que fazia isso está off..
       
       
      <div> <iframe style="border:0; width: 100%; height: 350px;" src="https://www.google.com/maps/embed?pb=!1m14!1m8!1m3!1d12097.433213460943!2d-74.0062269!3d40.7101282!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x0%3A0xb89d1fe6bc499443!2sNome+SegundoNome!5e0!3m2!1smk!2sbg!4v1539943755621" frameborder="0" allowfullscreen></iframe> </div>  
    • By klasss
      Olá a todos, 

      Tenho aqui um erro parvo não estou a ver como resolver . 

      Na minha View tenho um botão que será para fazer a aprovação de documentos , que abre uma modal para fazer a confirmação : 
      O problema é que quis fazer a mesma coisa para rejeitar. 
       
      <a href="{{route('despesas.modal', $item)}}" ><i class="fas fa-check text-info mr-1"></i></a> <a href="{{route('despesas.modal2', $item)}}" ><i class="fas fa-ban text-danger mr-1"></i></a> <?php if(@$id != ""){ echo "<script>$('#modalaceitar').modal('show');</script>"; } ?> <?php if(@$id != ""){ echo "<script>$('#modalrejeitar').modal('show');</script>"; } ?> Será que consigo validar por exemplo criando um ID nos dois botões?  
       
      Obrigado!
    • By Negrito
      Olá Pessoal, 
       
      Converti o banco de dados de uma app em ASP Classico de MSSQL para MySQL para redução de custos e percebi que alguns componentes ou recursos não estão mais funcionando devido a não compatibilidade com o MySQL , como por exemplo a função : RecordCount
       
      Já consegui converter e atualizar 95% de aplicação para rodar com o MySQL, mas tem 1 item que esta tirando meu sono e após dias pesquisando, resolvi pedir ajuda.
       
      Segue o meu codigo abaixo , onde estou com problema no resultado dessa operação:
       
      <%
      ...
      Set RS = Server.CreateObject("ADODB.Recordset")
      RS.CursorLocation = 3
      RS.CursorType = 3
      RS.ActiveConnection = Cn
      RS.Open strSQL, Cn, 3, 3
      RS.PageSize = 25
      RS.CacheSize = RS.PageSize
      intPageCount = RS.PageCount
      intRecordCount = RS.RecordCount
          If NOT (RS.BOF AND RS.EOF) Then
      If CInt(intPage) > CInt(intPageCount) Then intPage = intPageCount
          If CInt(intPage) <= 0 Then intPage = 1
              If intRecordCount > 0 Then
                  RS.AbsolutePage = intPage
                  intStart = RS.AbsolutePosition
                  If CInt(intPage) = CInt(intPageCount) Then
                      intFinish = intRecordCount
                  Else
                      intFinish = intStart + (RS.PageSize - 1)
                  End if
              End If
          If intRecordCount > 0 Then
              For intRecord = 1 to RS.PageSize
          QntExibicoes = QntExibicoes + Rs.fields("views")
      ...
      %>
       
       
      Já percebi que a função RecordCount não pode ser usada com o MySQL ou pelo menos não é compativel.
       
      A paginação esta funcionando ! 
      Porem , não consigo fazer ele calcular a quantidade de linhas (rows) do MySQL com a função RecordCount e acredito que possa ter alguma outra função que não esta compativel , mas como não conheço MySQL , não posso afirmar.
       
      Enfim, algum pode me dar uma luz ?
       
      Desde já agradeço pela atenção.
       
      Obrigado.
    • By b2black
      Estava vendo para atualizar o Windows pro 11, e notei isso no site da Microsoft, alguém sabe qual repositorio, ou como pesquisar para desenvolver algo similar?
      Quando você rola a página, o menu fica transparente.
       
      Explore Windows 11 OS, Computers, Apps, & More | Microsoft
    • By Marcos RJ
      Bom dia, boa tarde, boa noite colegas.
       
      Tenho um projeto onde conterá diversos subdomínios. Ex.:
      empresa1.site.com.br empresa2.site.com.br empresa3.site.com.br Esses subdomínios acessarão o sistema que está dentro do seguinte diretório:
      site.com.br/sistema/ Gostaria de fazer com que os subdomínios acessassem o sistema sem alterar a url, pois o objetivo é quando fizer quaisquer alterações e/ou inclusões de novos recursos, não tenhamos a necessidade de fazer isso dentro de todos os subdomínios, haja vista que serão dezenas ou até mesmo centenas de subdomínios. As minhas tentativas foram diretamente no .htaccess:
      RewriteEngine on RewriteCond %{HTTP_HOST} ^empresa1.site.com$ [OR] RewriteCond %{HTTP_HOST} ^www.empresa1.site.com$ RewriteRule ^(.*) http://www.site.com/sistema/$1?key=empresa1 [P,L] E o PHP ficou dessa forma:
       
      $diretorio = $_REQUEST["key"]; if($directory != null){    require "http://".$diretorio.".site.com.br/sistema/class/conectCass.php"; }else{  require "conectClass.php";  } Mas não deu certo. Tentei diretamente pelo PHP, mas quando clico no link criado, ele me obriga que a página do link esteja dentro dos subdiretórios. Em cada subdomínio coloquei da seguinte forma:
      include 'sistema/'; E no index.php do diretório sistema/:
      $host = $_SERVER['SERVER_NAME']; $host = str_replace(['www.', '.site.com.br', 'site.com.br'], '', $host); if($host == '') {     // entra o conteúdo do sistema } else {     // Entra o conteúdo do subdomínio } Mas também não funcionou. Como eu poderia resolver isso?

      Muito obrigado!
×

Important Information

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