wiskley 2 Denunciar post Postado Agosto 23, 2014 Primeiramente Boa tarde Pessoaol estou com uns problemas com arrays que nao consigo resolver de jeito nenhum, ja procurei em varios foruns mas nada mas vamos ao problema: Tenho um arquivo que se chama form.php que possui consigo um script em java que adiciona campos conforme a necessidade das pessoas segue o script do form.php <!DOCTYPE html> <html> <head> <title> - jsFiddle demo</title> <script type='text/javascript' src='http://code.jquery.com/jquery-1.7.1.js'></script> <script type='text/javascript' src='aplicacao.js' charset='utf-8'></script> </head> <body> <a href="#" id="add">Adicionar</a> <form action="form2.php" method="post"> <div id="boxFields"> </div> <br /> <input type="submit" value="Enviar" /> </form> </body> </html> como nao tem nada de interessante aqui vamos ao aplicacao.js $(window).load(function(){ $(function(){ //Cria uma função para Criar os campos Nome e Telefone function createDivFields(num){ /* Criamos a variavel, e atribuimos os campos que serão criados; Utilizamos o colchetes nos nomes do campos para informar que os dados em forma de array; Adiciona uma div, para que nela seja criado novos campos extras; E um link para para chamar o evento de adicionar; */ var html = '<div class="items" id="item_'+num+'">'; html += '<label>Curso : <input type="text" name="curso[]" /></label>'; html += '<label>Institui\u00e7\u00e3o: <input type="text" name="local[]" /></label>'; html += '<label>Carga Hor\u00e1ria : <input type="text" name="ch[]" /></label>'; /*html += '<a href="#" class="addTel" data-id="'+num+'">Add Telefone</a>';*/ html += '<div class="item"></div>'; html += '<div>'; return html; } //Cria a função para adicionar os campos extras de telefone function createFieldTel(num){ /* Repare que é informado que terá um parametro; Será por ele iremos identificar de quem pertence esses campos; */ var tel = '<label> Telefone :'; tel += '<input type="text" name="telExtra['+num+'][]" />'; tel += '</label><br />'; return tel; } //cria uma função para conta os campos criados function getTotalItems(){ //Contamos o total de campos, e diminuimos 1 //Porque o array é iniciado seu indice com 0 return $(".items").length; } //Adiciona os nome e telefone $("#add").click(function(){ //Adicionado no final do elemento ( #boxFields) os campos var totalField = getTotalItems(); $("#boxFields").append(createDivFields(totalField)); return false; }); //Adiciona os campos extras $(".addTel").live('click', function(){ /* Utilizamos Live para atribui o evento click ao link addTel Isso porque como criamos dinamicamente esse elemento ele ainda não está no DOM, quando o jQuery vai executar */ //recupera a posição var position = $(this).attr('data-id'); //Voltamos um elemento (parent); //e depois buscamos .item, informando que precisa ser o primeiro encontrado //Adiciona no final do elemento (.item) os novos campos $(this).parent().children('.item:first').append(createFieldTel(position)); return false; }); }); });//]]> Bom o problema começa agora no form2.php que recebe os dados eu nao consigo cadastrar no banco de dados ja tentei tudo e nao consegue abaixo o que esta mais ou menos funcional <?php include 'conexao.php'; $count = count($_POST['curso']); for ($x = 0; $x < $count; $x++) { $curso = $_POST['curso']; $local = $_POST['local']; $ch = $_POST['ch']; $teste = array (NULL, "$curso[$x]", "$local[$x]", "$ch[$x]"); $usuarios[] = array('curso' => "$teste[1]", 'local' => "$teste[2]", 'ch' => "$teste[3]"); // Para cada elemento de $usuários, faça: foreach ($usuarios as $usuario) { $curso = $usuario['curso']; $local = $usuario['local']; $ch = $usuario['ch']; $sql = ("INSERT INTO testar (`id`, curso, `local`, `ch`) VALUES (NULL, '$curso', '$local', '$ch')");} echo "$nome - $email - $ch<p>"; // Executa a consulta mysql_query($sql);} // Pega o número de registros inseridos $cadastrados = mysql_affected_rows(); echo 'Usuários cadastrados: ' . $cadastrados; ?> ele nao cadastra nem a custa de reza brava ja tentei de tudo. A linha echo "$nome - $email - $ch<p>"; me mostra como eu quero porem quando penso que cadastrou e entro no BD nao tem um registro se quer, Alguem pode me dar uma força? Compartilhar este post Link para o post Compartilhar em outros sites
wiskley 2 Denunciar post Postado Agosto 24, 2014 Problema resolvido pra quem quiser a solução aqui esta <?php include 'conexao.php'; $curso = $_POST['curso']; $local = $_POST['local']; $ch = $_POST['ch']; $tamanho = count($curso)-1; for ($f = 0; $f <= $tamanho; $f++) { $sql = mysql_query("INSERT INTO testar (curso,local,ch) VALUES ('".$curso[$f]."', '".$local[$f]."', '".$ch[$f]."')") or die ("<br><br><center>Problemas ao selecionar a base de dados do sistemas: " . mysql_error() . "</center>"); echo "$curso[$f] - $local[$f] - $ch[$f]<p>";} $cadastrados = mysql_affected_rows(); echo 'Usuários cadastrados: ' . $cadastrados; ?> Compartilhar este post Link para o post Compartilhar em outros sites