Juka 0 Denunciar post Postado Março 26, 2004 Pessoal, será que alguém pode me ajudar?Tenho uma tabela que é formada dinamicamente na vertical e a horizontal é fixa.Cada linha é formada por 6 campos de input text.Tenho que gravar as informação contidas nestes campos, porém, como são gerados dinamicamente não sei o nome dees para gravar no banco.Fix uma rotina que gera alguns noes padrão, de acordo com a posição de cada um, já que horizontalmente a tabela é fixa! consegui pegar os nomes, porem o nome é o valor de uma variável, por exemplo$npessoas = "1X1";o nome do campo é 1X1, como posso fazer para falar que 1X1 é a variavel $1X1 que é o nome do form para gravar no banco?Agradeço qqr. colaboração, estou parado nista já faz 2 dias! Obrigado! B) Compartilhar este post Link para o post Compartilhar em outros sites
stview 0 Denunciar post Postado Março 26, 2004 Dae, Eu fiz um esqueminha que tem funcionado bem: foreach ($_POST as $NOME => $VALOR ){ if($nome==""){ $nome = $NOME; $valor = "'$VALOR'"; }else{ if($NOME=="Submit"){ } else { $nome = $nome.','.$NOME; $valor = "$valor,'$VALOR'"; } }}$sql = "INSERT INTO tabela (ID,$nome) values ('',$valor)";$res=mysql_query($sql); Mas note que, ele pega todo e qualquer variavel que tenha sido enviado, inclusive o submit, e isso pode dar erro no insert, se aquele campo nao existir no db, nao ira efetuar o insert. O ideal é você colocar um echo $sql; para ver o que esta acontecendo, e tirar as vars desnecessarias. Nunca utilizei com campos gerados dinamicamente ... Mas deve funcionar tb Qlq coisa grita. Compartilhar este post Link para o post Compartilhar em outros sites
stview 0 Denunciar post Postado Março 29, 2004 E ai deu certo? Compartilhar este post Link para o post Compartilhar em outros sites
carol311 0 Denunciar post Postado Março 29, 2004 Oi...........Eu to como mesmo Problemão que ele............mais eu não entendi seu código(sou burrinha mesmo)....você poderia me explicar mais ou menos..........Valeu........ :P Compartilhar este post Link para o post Compartilhar em outros sites
stview 0 Denunciar post Postado Março 29, 2004 Bom .. o ideal seria você ler o manual do php, www.php.net.Mas seria algo vomo, para cada dado enviado pelo formularop, pegar o nome do campo coo $NOME e o valor deste como $VALOR.A partir dai criemos um variavel $nome, onde colcocaremo todos os nomes dos campos enviados, separando-os por virgula, e todos os respectivos valores, tb separados por virgula, mas colocados entre aspas simples.Utilizamos um if para excluir os campos que não queremos que estajam dentro deste select, por exemplo o valor do botão de submit.A partir disso então criamos o nosso select baseado nestas informações.Certo? Compartilhar este post Link para o post Compartilhar em outros sites
carol311 0 Denunciar post Postado Março 29, 2004 Ficou um pouco mais claro......obrigada.....mas eu vou ler o manual........Valeu....... :rolleyes: Compartilhar este post Link para o post Compartilhar em outros sites
AbraaoRamiro 1 Denunciar post Postado Abril 2, 2004 tenho o mesmo problema.... mais cara tem uma linha que lista os campos de uma tabela é coisa parecida com msql_fieldname(int result, int cont), mais ainda não sei usar. Como posso uza-la é que é o pró! isso podeira resolver nossos problemas mais se descobrir me dá uma dica tá .... Compartilhar este post Link para o post Compartilhar em outros sites
stview 0 Denunciar post Postado Abril 2, 2004 Cara, eu nunca usei esta linha de mysql, mas assim .. o code q eu escrevi ali serve pra qualquer form independente da tabela ...Se você tem umatabela com 50 campos, mas neste form só vai preencher 10, pronto ... ele pegasó os campos que você usou.O problema é que você tem que usar o mesmo nome dos campos do form com os campos da tabela ... dependendo da tabela não é legal usar isso ... seguranças e uiuis e talz . Compartilhar este post Link para o post Compartilhar em outros sites
7vidas 0 Denunciar post Postado Abril 2, 2004 Cara se você tem 6 campos fixos em cada linha você pode colocar o nome correspondente a cada campo, só que como se fosse uma array!!! Faça isso <tr> <TD> <input type="text" name="nome[0]"> <input type="text" name="endereco[0]"> <input type="text" name="telefone[0]"> </td> </tr> <tr> <TD> <input type="text" name="nome[1]"> <input type="text" name="endereco[1]"> <input type="text" name="telefone[1]"> </td> </tr> E assim por diante!!! (Se eu for fazer a programação aqui vai ser fo***) Dae quando der um Submit você faz assim: $nome=$_POST["nome"]; $endereco=$_POST["endereco"]; $telefone=$_POST["telefone"]; $quant=count($nome); //você vai saber quantas linhas foram geradasfor ($i=0;$i<$quant;$i++){ $sql="insert into usuarios (nome,endereco,telefone) values ('$nome[$i]','('$endereco[$i]','('$telefone[$i]')"; $insert=mysql_query($sql);} Entendeu??? :( Acho que isso soluciona o seu probrema (versão Sol). :P :huh: []´s Compartilhar este post Link para o post Compartilhar em outros sites