Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Juka

Descobrir o nome de um campo do form

Recommended Posts

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

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

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

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

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

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

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

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.