11closed 0 Denunciar post Postado Maio 6, 2010 ola fis um codigo aq para validar campos, so que ele esta muito grande, gostaria de saber se a alguma forma de diminuir ele sem que ele mude os resultados olha o codigo, vo coloqua ate o 5 mais aq no meu é ate o numero 50 Quantos *: <select name="qtsparts" id="qtsparts" onchange="ChamarInputs(); Somar();"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select> <li id="part1" style="display:none;">Nome 1*:<input type="text" id="inputvazil" name="part1"> </input></li> <li id="part2" style="display:none;">Nome 2*:<input type="text" id="inputvazil" name="part2"> </input></li> <li id="part3" style="display:none;">Nome 3*:<input type="text" id="inputvazil" name="part3"> </input></li> <li id="part4" style="display:none;">Nome 4*:<input type="text" id="inputvazil" name="part4"> </input></li> <li id="part5" style="display:none;">Nome 5*:<input type="text" id="inputvazil" name="part5"> </input></li> php $acao = $_GET["acao"]; if ($acao == "cadastro") { $qtsparts = $_POST["qtsparts"]; $part1 = $_POST["part1"]; $part2 = $_POST["part2"]; $part3 = $_POST["part3"]; $part4 = $_POST["part4"]; $part5 = $_POST["part5"]; if($qtsparts == ""){ $erro[9] = "O Formulário Quantos é obrigatório </br>"; } if($qtsparts == "1"){ if ($part1 == "") { $erro[10] = "O Formulário Nome 1 é obrigatório </br>"; } } if($qtsparts == "2"){ if ($part1 == "") { $erro[10] = "O Formulário Nome 1 é obrigatório </br>"; } if ($part2 == "") { $erro[11] = "O Formulário Nome 2 é obrigatório </br>"; } if ($part1 == $part2 && $part1 != "") { $erro[12] = "O Nome 1 tem que ser diferente do Nome 2 </br>"; } } if($qtsparts == "3"){ if ($part1 == "") { $erro[10] = "O Formulário Nome 1 é obrigatório </br>"; } if ($part2 == "") { $erro[11] = "O Formulário Nome 2 é obrigatório </br>"; } if ($part3 == "") { $erro[12] = "O Formulário Nome 3 é obrigatório </br>"; } if ($part1 == $part2 && $part1 != "") { $erro[13] = "O Nome 1 tem que ser diferente do Nome 2 </br>"; } if ($part1 == $part3 && $part1 != "") { $erro[14] = "O Nome 1 tem que ser diferente do Nome 3 </br>"; } if ($part2 == $part3 && $part2 != "") { $erro[15] = "O Nome 2 tem que ser diferente do Nome 3 </br>"; } } if($qtsparts == "4"){ if ($part1 == "") { $erro[10] = "O Formulário Nome 1 é obrigatório </br>"; } if ($part2 == "") { $erro[11] = "O Formulário Nome 2 é obrigatório </br>"; } if ($part3 == "") { $erro[12] = "O Formulário Nome 3 é obrigatório </br>"; } if ($part4 == "") { $erro[13] = "O Formulário Nome 4 é obrigatório </br>"; } if ($part1 == $part2 && $part1 != "") { $erro[14] = "O Nome 1 tem que ser diferente do Nome 2 </br>"; } if ($part1 == $part3 && $part1 != "") { $erro[15] = "O Nome 1 tem que ser diferente do Nome 3 </br>"; } if ($part1 == $part4 && $part1 != "") { $erro[16] = "O Nome 1 tem que ser diferente do Nome 4 </br>"; } if ($part2 == $part3 && $part2 != "") { $erro[17] = "O Nome 2 tem que ser diferente do Nome 3 </br>"; } if ($part2 == $part4 && $part2 != "") { $erro[18] = "O Nome 2 tem que ser diferente do Nome 4 </br>"; } if ($part3 == $part4 && $part3 != "") { $erro[19] = "O Nome 3 tem que ser diferente do Nome 4 </br>"; } } if($qtsparts == "5"){ if ($part1 == "") { $erro[10] = "O Formulário Nome 1 é obrigatório </br>"; } if ($part2 == "") { $erro[11] = "O Formulário Nome 2 é obrigatório </br>"; } if ($part3 == "") { $erro[12] = "O Formulário Nome 3 é obrigatório </br>"; } if ($part4 == "") { $erro[13] = "O Formulário Nome 4 é obrigatório </br>"; } if ($part5 == "") { $erro[14] = "O Formulário Nome 5 é obrigatório </br>"; } if ($part1 == $part2 && $part1 != "") { $erro[15] = "O Nome 1 tem que ser diferente do Nome 2 </br>"; } if ($part1 == $part3 && $part1 != "") { $erro[16] = "O Nome 1 tem que ser diferente do Nome 3 </br>"; } if ($part1 == $part4 && $part1 != "") { $erro[17] = "O Nome 1 tem que ser diferente do Nome 4 </br>"; } if ($part1 == $part5 && $part1 != "") { $erro[18] = "O Nome 1 tem que ser diferente do Nome 5 </br>"; } if ($part2 == $part3 && $part2 != "") { $erro[19] = "O Nome 2 tem que ser diferente do Nome 3 </br>"; } if ($part2 == $part4 && $part2 != "") { $erro[20] = "O Nome 2 tem que ser diferente do Nome 4 </br>"; } if ($part2 == $part5 && $part2 != "") { $erro[21] = "O Nome 2 tem que ser diferente do Nome 5 </br>"; } if ($part3 == $part4 && $part3 != "") { $erro[22] = "O Nome 3 tem que ser diferente do Nome 4 </br>"; } if ($part3 == $part5 && $part3 != "") { $erro[23] = "O Nome 3 tem que ser diferente do Nome 5 </br>"; } if ($part4 == $part5 && $part4 != "") { $erro[24] = "O Nome 4 tem que ser diferente do Nome 5 </br>"; } } } Imagine isso ate 50 kkkk, muita coisa mais de 10000 linhas. mais de 500Kb gostaria que se o usuario digitar um igual o outro ou deixar de digitar em um ou outro, aparecece uma messagem especifica de onde ele errou Tipo: quero fazer igual ai em cima, mais com menos codigos, é possivel ? alguem sabe alguma forma ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 7, 2010 tive uma ideia aki veja se te atende, fiz uns teste e deu certo mude essas linha aki <li id="part1" style="display:none;">Nome 1*:<input type="text" id="inputvazil" name="part1"> </input></li> <li id="part2" style="display:none;">Nome 2*:<input type="text" id="inputvazil" name="part2"> </input></li> <li id="part3" style="display:none;">Nome 3*:<input type="text" id="inputvazil" name="part3"> </input></li> <li id="part4" style="display:none;">Nome 4*:<input type="text" id="inputvazil" name="part4"> </input></li> <li id="part5" style="display:none;">Nome 5*:<input type="text" id="inputvazil" name="part5"> </input></li> para essas, observe no name eu mudei todos para "part[]", transforma em array para pegar no php, pode ser feito com n linhas <li id="part1" style="display:none;">Nome 1*:<input type="text" id="inputvazil" name="part[]"> </input></li> <li id="part2" style="display:none;">Nome 2*:<input type="text" id="inputvazil" name="part[]"> </input></li> <li id="part3" style="display:none;">Nome 3*:<input type="text" id="inputvazil" name="part[]"> </input></li> <li id="part4" style="display:none;">Nome 4*:<input type="text" id="inputvazil" name="part[]"> </input></li> <li id="part5" style="display:none;">Nome 5*:<input type="text" id="inputvazil" name="part[]"> </input></li> certo, agora no php faça assim <?php $qtsparts = $_POST['qtsparts'];//recebe a quantidade $parts = $_POST['part'];//recebe no formato de array as parts foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório </br>"; } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)."<br>"; } } ?> espero ter ajudado, qlqr dúvida sobre o código é só falar Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 7, 2010 ola Victor Cometti Ok assim deu certo. vlw mais ô, se caso ñ ouver erros no foreach o conteudo dos input vai para o BD, como eu faria para manda para o BD ? <?php $acao = $_GET["acao"]; if ($acao == "cadastro") { $qtsparts = $_POST['qtsparts'];//recebe a quantidade $parts = $_POST['part'];//recebe no formato de array as parts foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório </br>"; } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item && $valor != ""){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)."<br>"; } } if(sizeof($erro) == 0){ # Insere os novos dados no Banco de Dados $inseri = "INSERT INTO `{$tabela2}` (.......) VALUES (..........)"; $query = mysql_query($inseri)or die(mysql_error()); } ?> <form method="post" name="form1" action="index.php?acao=cadastro"> <ul> <li>Quantos *: <select name="qtsparts" id="qtsparts"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select></li> <li id="part1">Nome 1*:<input type="text" name="part[]" > </input></li> <li id="part2">Nome 2*:<input type="text" name="part[]" > </input></li> <li id="part3">Nome 3*:<input type="text" name="part[]" > </input></li> <li id="part4">Nome 4*:<input type="text" name="part[]" > </input></li> <li id="part5">Nome 5*:<input type="text" name="part[]" > </input></li> </ul> <input type="submit" name="cadastrar" value="Enviar Cadastro"> </form> t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 7, 2010 muito simples é só criar uma variável com valor booleano(true ou false), como segue $cadastra = true;//inicia com valor true foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório </br>"; $cadastra = false;//caso esteja vazia vira false } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)."<br>"; $$cadastra = false;//ou caso esteja com campos repetidos vira false } } if ($cadastra){//verifica se continua com true //aki você faz o cadastro } faz um teste ae Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 10, 2010 ola Victor Cometti fis assim include("config.php"); $acao = $_GET["acao"]; if ($acao == "cadastro") { $qtsparts = $_POST['qtsparts'];//recebe a quantidade $parts = $_POST['part'];//recebe no formato de array as parts $cadastra = true;//inicia com valor true foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório</br>"; } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item && $valor != ""){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)."<br>"; } } if(sizeof($erro) == 0 && $cadastra == true){ # Insere os novos dados no Banco de Dados $inseri = "INSERT INTO `{$tabela}` (qtsparts, part1, part2, part3, part4, part5) VALUES ('$qtsparts', '$part1', '$part2', '$part3', '$part4', '$part5')"; $query = mysql_query($inseri)or die(mysql_error()); echo "registrado"; } } sempre quando eu aperto o botão aparece a messagem "Registrado", msm quando existe formularios iguais ou vazius, e quando cadastra no BD esta cadastrando errado. essa linha como devo fazer ? $inseri = "INSERT INTO `{$tabela}` (qtsparts, part1, part2, part3, part4, part5) VALUES ('$qtsparts', '$part1', '$part2', '$part3', '$part4', '$part5')"; t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 10, 2010 você n usou o codigo da maneira q eu te mostrei!! você vai ter q criar duas tabelas, pois tratam de campos com n elementos pode ser assim tabela1 id (primary key) nome ... tabela2 id_tabela1 (foreign key) parte e o código <?php include("config.php"); $acao = $_GET["acao"]; if ($acao == "cadastro"){ $qtsparts = $_POST['qtsparts'];//recebe a quantidade $parts = $_POST['part'];//recebe no formato de array as parts $cadastra = true;//inicia com valor true foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório</br>"; $cadastra = false; } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item && $valor != ""){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)."<br>"; $cadastra = false; } } if($cadastra){ # Insere os novos dados no Banco de Dados $inseri = "INSERT INTO `tabela1` (id,nome) values ({$id},{$nome})"; $query = mysql_query($inseri)or die(mysql_error()); foreach ($parts as $item => $valor){ if($item == $qtsparts)//se for o último break;//para o loop $query = mysql_query("insert into `tabela2` (id_tabela1,parte) values ({$id},{$valor})") or die(mysql_error()); } echo "registrado"; } } ?> Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 10, 2010 ola olha sempre quando eu aperto no botão o valor ta passando e dano o erro, tipo assim, se eu escolho 1(qtsparts) aparece assim Nome 1 é obrigatório registrado essa linha esta certa msm if($cadastra){ pq com erro ou sem erro ela esta verdadeira quando aparecer essa Nome 1 é obrigatório, ñ é para cadastrar no BD. so é para cadastrar no BD quando ñ ouver nenhum formulario igual ou vazil. t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 11, 2010 rodei dessa forma aki e funcionou, copia e cola ae e faz um teste <?php include ("config.php"); $acao = $_GET["acao"]; if ($acao == "cadastro"){ $qtsparts = $_POST['qtsparts'];//recebe a quantidade $parts = $_POST['part'];//recebe no formato de array as parts $cadastra = true;//inicia com valor true foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório</br>"; $cadastra = false; } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item && $valor != ""){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)."<br>"; $cadastra = false; } } if($cadastra){ # Insere os novos dados no Banco de Dados //$inseri = "INSERT INTO `tabela1` (id,nome) values ({$id},{$nome})"; //$query = mysql_query($inseri)or die(mysql_error()); foreach ($parts as $item => $valor){ if($item == $qtsparts)//se for o último break;//para o loop $query = mysql_query("insert into `tabela2` (id_tabela1,parte) values ({$id},{$valor})") or die(mysql_error()); } echo "registrado"; } } ?> descomenta as linhas do codigo anterior //$inseri = "INSERT INTO `tabela1` (id,nome) values ({$id},{$nome})"; //$query = mysql_query($inseri)or die(mysql_error()); Compartilhar este post Link para o post Compartilhar em outros sites
hinom 5 Denunciar post Postado Maio 11, 2010 Não está errado a forma como o vitor está ajudando, serve perfeitamente para o caso, mas não será prático em termos de produtividade para outros projetos ou até mesmo para quando precisar modificar alguma regra. Se tiver tempo, procure migrar para algum framework ou desenvolver um proprio. você entenderá que o uso de uma framework eliminará boa parte do trabalho dispendioso e passará a focar-se somente na regra de negócios, concluindo seus trabalhos com eficiencia e economizando tempo. Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 11, 2010 ola fis o teste deu certo, obrigado Victor Cometti codigo PHP <?php $acao = $_GET["acao"]; if ($acao == "cadastro"){ $qtsparts = $_POST['qtsparts'];//recebe a quantidade $parts = $_POST['part'];//recebe no formato de array as parts $cadastra = true;//inicia com valor true foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório</br>"; $cadastra = false; } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item && $valor != ""){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)." "; $cadastra = false; } } if($cadastra){ foreach ($parts as $item => $valor){ if($item == $qtsparts)//se for o último break;//para o loop $query = mysql_query("insert into `tabela1` (parte1) values ('$valor')") or die(mysql_error()); //$query = mysql_query("insert into `tabela2` (part2) values ('$valor')") or die(mysql_error()); //$query = mysql_query("insert into `tabela3` (part3) values ('$valor')") or die(mysql_error()); //$query = mysql_query("insert into `tabela4` (part4) values ('$valor')") or die(mysql_error()); //$query = mysql_query("insert into `tabela5` (part5) values ('$valor')") or die(mysql_error()); } echo "registrado"; } } ?> olha há alguma forma para fazer tipo assim ?cada $query ta em uma tabela diferente ai ficaria tipo assim o valor do Nome 1 iria para a tabela1 e campo parte1 o valor do Nome 2 iria para a tabela2 e campo parte2 o valor do Nome 3 iria para a tabela3 e campo parte3 o valor do Nome 4 iria para a tabela4 e campo parte4 o valor do Nome 5 iria para a tabela5 e campo parte5 Alguem sabe como poderia ser feito isso ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 11, 2010 Modele o banco de dados melhor. Estude sobre 'Formas Normais'. Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 12, 2010 na realidade você n vai criar uma tabela a cada registro, a cada item você vai inserir uma linha na tabela, como disse willian estude sobre formas normais. pra te adiantar vo te dar um exemplo de como fazer. imagine q eu tenha uma tabela com funcionarios com seus dependentes, eu sei que cada registro vai ter um funcionário, mas os dependentes são variáveis. e se eu quizer colocar tudo numa tabela só e suponha que o funcionário tenha 3 dependentes seria algo assim: ---------------------------------------------------- |codigo | Nome_funcionario | idade |Nome_dependente| ---------------------------------------------------- | 01 | antonio | 30 | maria | | 01 | antonio | 30 | victor | | 01 | antonio | 30 | willian | ---------------------------------------------------- q legal hein, repeti o Nome_fucionario e idade 3 vezes por causa dos dependentes. errado.então para melhorar isso é só dividir em duas tabelas, a tabela funcionario e a tabela dependente tabela funcionario ------------------------------------ |codigo | Nome_funcionario | idade | ----------------------------------- | 01 | antonio | 30 | ------------------------------------ tabela dependente ----------------------------- |cod_funcionario | nome_dep | ----------------------------- | 01 | maria | | 01 | victor | | 01 | willian | ----------------------------- dividi a tabela e associei as duas pelo codigo do funcionário aplique isso a sua necessidade Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 12, 2010 ola Victor Cometti eu entendi oq você e o William Bruno falarão. mais na verdade eu realmente gostaria de criar uma tabela para cada registro, e gostaria de saber como fazer isso ? mas msm assim obrigado pela exclicação t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 12, 2010 ok, tudo bem, criar tabela é assim //conecta $conexao = mysql_connect("local","usuario","senha") or die(mysql_error()); //seleciona banco $seleciona = mysql_select_db("banco") or die(mysql_error()); //cria tabela $cria_tabela = mysql_query("create table `nome_tabela` ( `id` int(11) not null auto_increment, `part` varchar(30) unique not null, primary key(`id`)")or die (mysql_error()); //insere na tabela criada $query = mysql_query("insert into `nome_tabela` (`part`) values ('$valor')") or die(mysql_error()); mas eu acho q você ker algo diferente!! cria uma tabela a cada registro é loucura!!! Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 12, 2010 ola Victor Cometti me-desculpa.. as tabelas ja estão criadas dessa forma tabela1 tem o campo parte1 tabela2 tem o campo parte2 tabela3 tem o campo parte3 tabela4 tem o campo parte4 tabela5 tem o campo parte5 minha duvida é como inserir o valor do input "Nome 1" no campo parte1 e o valor do input "Nome 2" no campo parte2... etc se eu fazer dessa forma $query = mysql_query("insert into `tabela1` (parte) values ('$valor')") or die(mysql_error()); ira inserir somento o valor do input Nome 1 como inserir o Nome 2, Nome 3, Nome 4, Nome 5 tb de acordo com o POST de cada Input ? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 12, 2010 eu n concordo com essa metodologia sua, como são os mesmo tipo de dados, uma tabela só resolveria e tbm facilitaria na hora de buscar, deletar, atualizar. mas... olha ae foreach ($parts as $item => $valor){ if($item == $qtsparts)//se for o último break;//para o loop $query = mysql_query("insert into `tabela{$item}` (`parte{$item}`) values ({$valor})") or die(mysql_error()); } Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 13, 2010 ola coloquei o codigo para testar e ocorreu outro problema preenchi os 5 formularios assim, certo1, certo2, certo3, certo4, certo5 apertei no botão e o resultado foi Unknown column 'certo1' in 'field list' diz que a coluna 'certo1' ñ existe, pois é ela ñ existe msm, rssr A tabela acho! "tabela1" a coluna é "parte1" conferi o BD esta escrito tudo certo oq pode esta errado? t+ Compartilhar este post Link para o post Compartilhar em outros sites
Victor Cometti 8 Denunciar post Postado Maio 14, 2010 claro, no exemplo tá usando o campo part1 e não certo1 Compartilhar este post Link para o post Compartilhar em outros sites
11closed 0 Denunciar post Postado Maio 14, 2010 Sim, acho que você ñ me entendeu no codigo esta parte1 msm certo1 foi oq eu preenchi no input para enviar para bd codigo esta assim <?php $acao = $_GET["acao"]; if ($acao == "cadastro"){ $qtsparts = $_POST['qtsparts'];//recebe a quantidade $parts = $_POST['part'];//recebe no formato de array as parts $cadastra = true;//inicia com valor true foreach ($parts as $item => $valor){//varre o array if($item == $qtsparts)//se for o último break;//para o loop if ($valor == ""){//verifica itens vazios echo "Nome ".($item+1)." é obrigatório</br>"; $cadastra = false; } //testa se existem valores repetidos com excessão a ele msm e atribui a variável if(($repete = array_search($valor,$parts))!= $item && $valor != ""){ echo "Campos repetidos Nome ".($repete+1)." e Nome ".($item+1)." "; $cadastra = false; } } if($cadastra){ foreach ($parts as $item => $valor){ if($item == $qtsparts)//se for o último break;//para o loop $query = mysql_query("insert into `tabela{$item}` (`parte{$item}`) values ({$valor})") or die(mysql_error()); } echo "registrado"; } } ?> <form method="post" name="form1" action="index.php?acao=cadastro"> <ul> <li>Quantos *: <select name="qtsparts" id="qtsparts"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> </select></li> <li id="part1">Nome 1*:<input type="text" name="part[1]" > </input></li> <li id="part2">Nome 2*:<input type="text" name="part[2]" > </input></li> <li id="part3">Nome 3*:<input type="text" name="part[3]" > </input></li> <li id="part4">Nome 4*:<input type="text" name="part[4]" > </input></li> <li id="part5">Nome 5*:<input type="text" name="part[5]" > </input></li> </ul> <input type="submit" name="cadastrar" value="Enviar Cadastro"> </form> o Input Nome 1: eu preenchi como: certo1 o Input Nome 2: eu preenchi como: certo2 o Input Nome 3: eu preenchi como: certo3 o Input Nome 4: eu preenchi como: certo4 o Input Nome 5: eu preenchi como: certo5 apertei cadastrar, ai deu essa menssagem Unknown column 'certo1' in 'field list' essa menssagem quer dizer que ñ existe a coluna "certo1" no BD, ñ é ? se for, ñ é para existir msm a coluna é "parte1" ai tipo: certo1 vai ser inserido na coluna parte1. t+ Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Maio 14, 2010 coloque entre aspas: "insert into `tabela{$item}` (`parte{$item}`) values ('{$valor}')" Compartilhar este post Link para o post Compartilhar em outros sites