Jump to content
Fórum Script Brasil
  • 0

Receber Campos dinâmicos do Formulário em PHP e inserir no BD MYSQL


luiz.fogaca
 Share

Question

Boa tarde Senhores!
Sou novo com PHP e aqui no Fórum estou precisando de uma luz para a seguinte questão:
 
Tenho um formulário com alguns campos fixos + campos adicionados via JS, a minha dúvida é como receber esses campos no PHP sendo que o numero de campos é variável e depois salva-los no MySQL, 

 

Salvar um form sem campos dinâmicos eu sei como faz, mas com campos dinâmicos não consegui achar a solução. 

 

JavaScript:

Fonte:http://gianfratti.com/WP/index.php/adicionarremover-campos-dinamicamente-com-jquery/

JS:

$(function() {
        var scntDiv = $('#p_scents');
        var i = $('#p_scents p').size() + 1;
        
        $('#addScnt').live('click', function() {
                $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
                i++;
                return false;
        });
        
        $('#remScnt').live('click', function() { 
                if( i > 2 ) {
                        $(this).parents('p').remove();
                        i--;
                }
                return false;
        });
});

HTML Completo:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type='text/javascript' src='//code.jquery.com/jquery-1.6.4.js'></script>
<script language="javascript" type="text/javascript">
$(function() {
        var scntDiv = $('#p_scents');
        var i = $('#p_scents p').size() + 1;
        
        $('#addScnt').live('click', function() {
                $('<p><label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt_' + i +'" value="" placeholder="Input Value" /></label> <a href="#" id="remScnt">Remove</a></p>').appendTo(scntDiv);
                i++;
                return false;
        });
        
        $('#remScnt').live('click', function() { 
                if( i > 2 ) {
                        $(this).parents('p').remove();
                        i--;
                }
                return false;
        });
});
</script>
</head>

<body> 
<form action="teste.php" method="get">
<h2><a href="#" id="addScnt">Add Another Input Box</a></h2>

<div id="p_scents">
    <p>
        <label for="p_scnts"><input type="text" id="p_scnt" size="20" name="p_scnt" value="" placeholder="Input Value" /></label>
    </p>
 </div>


<input type="submit" value="enviar" />
</form>
<script>document.write(i);</script>
</body>
</html>

 

Edited by luiz.fogaca
Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0

Boa tarde amigo , joga em um array o resultado . Coloca o name do campo assim: name="nome_campo_do_seu_campo[]".

Quando você der o submit  , se tiver mais de um elemento , voce os recupera como um array. Para ver os valores , você faz : print_r($_POST['nome_do_seu_campo']; , então listará todos os valores armazenados.

 

Para inserir no banco  , depende de como voce quer inserir , todos os valores serao inseridos em um unico campo de uma tabela ? Ou serao inseridos separadamente em varias linhas de uma outra tabela? 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.1k
×
×
  • Create New...