Ir para conteúdo

POWERED BY:

Arquivado

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

Bruno Conte

[Resolvido] Formulario com adição de campos

Recommended Posts

boa noite, tenho um formulario onde cadastros dados basicos de nf que recebo.

e vou adicionando campos atraves de javascript para adicionar os produtos que veio nesta nf.

 

o problema e que alguns campos nao estao passando.

 

meu formulario:

 

<script language="javascript">
var input = 0;
function mais(campo) {

var nova = document.getElementById("aqui");
var novadiv = document.createElement("div");
var nomediv = "div";
novadiv.innerHTML = "Materia Prima: <select name='produto[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE O PRODUTO' id='produto'><option value='0'><Selecione o tipo></option><?php while($array1 = mysql_fetch_array($sql)) {?><option label='<?php echo $array1[nome] ?>' value='<?php echo $array1[id].'_'.$array1[nome]; ?>'><?php echo $array1[nome] ?></option><?php } ?></select> Categoria: <select name='categoria[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A CATEGORIA' id='produto'><option value='EQUIPAMENTO'>EQUIPAMENTO</option><option value='INFRAESTRUTURA'>INFRAESTRUTURA</option><option value='INSUMO'>INSUMO</option><option value='ESCRITORIO'>ESCRITORIO</option><option value='PROTOTIPO'>PROTOTIPO</option><option value='MARKETING'>MARKETING</option><option value='PINTURA'>PINTURA</option><option value='MANUTENCAO'>MANUTENCAO</option><option value='EXTRA'>EXTRA</option><option value='REVENDA'>REVENDA</option></select> Quantidade: <input type='text' size='2' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE A QUANTIDADE' name='qtd[]' value='' style='width:90px;height:20px;'> Unidade: <select name='unidade[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A UNIDADE' id='produto'><option value='0'><Selecione a unidade></option><?php while($array = mysql_fetch_array($sql_unidade)) {?><option label='<?php echo $array[nome] ?>' value='<?php echo $array[nome]; ?>'><?php echo $array[nome] ?></option><?php } ?></select> Valor: <input type='text' size='5' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE O VALOR UNITARIO' name='valorun[]' value='' style='width:90px;height:20px;' onkeypress='mascara(this,mvalor)'> ";
nova.appendChild(novadiv);

input++;
}</script>
<br />
<input type='button' value='Inserir Produtos na NF' style='background-color: #FF0000; color: #FFFFFF; border: 1 solid #666666' onClick='mais(campo.value)'>
<br />
<input type='hidden' name='campo' value=''>
<div id='aqui'>

</div>
<p>
 <input name="pesq" type="image" src="../imgs/cadastrar.png" class="float" />

 

o codigo que recebe:

 

$x = $_POST[ 'produto' ];

		$i = 0;
		foreach($x as &$key){

		$produto = explode("_", $key);

		echo $id_materiaprima = $produto[0];
		echo $materiaprima = $produto[1];
		echo $categoria = $_POST['categoria'];
		echo $qtd = $_POST['qtd'];
		echo $unidade = $_POST['unidade'];
		echo $valorun = moeda($_POST['valorun']);
		echo $valortotal = $valorun * $qtd;

		 $query = mysql_query("INSERT INTO itens_nf (id_estoquemp, id_materiaprima, materiaprima, categoria, qtd, unidade, valorun, valortotal) VALUES  ('$idimp','$id_materiaprima','$materiaprima','$categoria[$i]','$qtd[$i]','$unidade[$i]','$valorun[$i]', '$valortotal[$i]')", $db);  
                       //aqui você tem que ver se você ta recebendo cada  uma dessas variáveis como "arrays",

	echo "Cadastrado com sucesso";

		}
		$i++;

 

dei um echo em todos os campos vindos do form e apenas $id_materiaprima e $materiaprima esta vindo, o resto da valor array.

 

exemplo que ficou meu echo:

 

2TesteArrayArrayArrayArray

Compartilhar este post


Link para o post
Compartilhar em outros sites

$id_materiaprima = $produto[0];

$materiaprima = $produto[1];

$categoria = $_POST['categoria'];

$qtd = $_POST['qtd'];

$unidade = $_POST['unidade'];

$valorun = moeda($_POST['valorun']);

$valortotal = $valorun * $qtd;

 

for ($i=0;$i<10;i++){

 

echo $id_materiaprima[$i]

echo $materiaprima[$i]

echo $categoria[$i]

echo $qtd[$i]

echo $unidade[$i]

echo $valorun[$i]

echo $valortotal[$i]

 

}

 

tenta por isso pra ver o que da

Compartilhar este post


Link para o post
Compartilhar em outros sites

acho que ninguem vai te saco pra le isso não

novadiv.innerHTML = "Materia Prima: <select name='produto[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE O PRODUTO' id='produto'><option value='0'><Selecione o tipo></option><?php while($array1 = mysql_fetch_array($sql)) {?><option label='<?php echo $array1[nome] ?>' value='<?php echo $array1[id].'_'.$array1[nome]; ?>'><?php echo $array1[nome] ?></option><?php } ?></select> Categoria: <select name='categoria[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A CATEGORIA' id='produto'><option value='EQUIPAMENTO'>EQUIPAMENTO</option><option value='INFRAESTRUTURA'>INFRAESTRUTURA</option><option value='INSUMO'>INSUMO</option><option value='ESCRITORIO'>ESCRITORIO</option><option value='PROTOTIPO'>PROTOTIPO</option><option value='MARKETING'>MARKETING</option><option value='PINTURA'>PINTURA</option><option value='MANUTENCAO'>MANUTENCAO</option><option value='EXTRA'>EXTRA</option><option value='REVENDA'>REVENDA</option></select> Quantidade: <input type='text' size='2' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE A QUANTIDADE' name='qtd[]' value='' style='width:90px;height:20px;'> Unidade: <select name='unidade[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A UNIDADE' id='produto'><option value='0'><Selecione a unidade></option><?php while($array = mysql_fetch_array($sql_unidade)) {?><option label='<?php echo $array[nome] ?>' value='<?php echo $array[nome]; ?>'><?php echo $array[nome] ?></option><?php } ?></select> Valor: <input type='text' size='5' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE O VALOR UNITARIO' name='valorun[]' value='' style='width:90px;height:20px;' onkeypress='mascara(this,mvalor)'> ";
nova.appendChild(novadiv);

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz tente


                       echo $id_materiaprima = $produto[0];
                       echo $materiaprima = $produto[1];
                       echo $categoria = $_POST['categoria'][0];
                       echo $qtd = $_POST['qtd'][0];
                       echo $unidade = $_POST['unidade'][0];
                       echo $valorun = moeda($_POST['valorun'][0]);
                       echo $valortotal = $valorun * $qtd;

Acredito q seje só isso

 

tipo seria bom você criar um variavel auto incremente no javascript e acada vez q o cara add campos você coloca +1 nessa variavel pra saber a qtd de campos q foi criada para au você coloca no value num campo hidden ai você faz um for ou um while

q nem joaofla123 mostrou

 

$id_materiaprima = $produto[0];
$materiaprima = $produto[1];
$categoria = $_POST['categoria'];
$qtd = $_POST['qtd'];
$unidade = $_POST['unidade'];
$valorun = moeda($_POST['valorun']);
$valortotal = $valorun * $qtd;

for ($i=0;$i<10;i++){

echo $id_materiaprima[$i]
echo $materiaprima[$i]
echo $categoria[$i]
echo $qtd[$i]
echo $unidade[$i] 
echo $valorun[$i]
echo $valortotal[$i]

ai onde esta o numero 10 "$i<10" você alteraria para o numero q vem do campo invisível

 

DICA...

organize o código antes de postar o q esta no innerhtml

tive q colocar no dreamweaver pra quebrar as linhas e dar uma intendida melhor mas beleza acho q isso resolve c n resolver

 

posta o q deu q noix da umn jeito...

 

Ajudei ? se sim

Mande minha reputação

 

acho que ninguem vai te saco pra le isso não

novadiv.innerHTML = "Materia Prima: <select name='produto[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE O PRODUTO' id='produto'><option value='0'><Selecione o tipo></option><?php while($array1 = mysql_fetch_array($sql)) {?><option label='<?php echo $array1[nome] ?>' value='<?php echo $array1[id].'_'.$array1[nome]; ?>'><?php echo $array1[nome] ?></option><?php } ?></select> Categoria: <select name='categoria[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A CATEGORIA' id='produto'><option value='EQUIPAMENTO'>EQUIPAMENTO</option><option value='INFRAESTRUTURA'>INFRAESTRUTURA</option><option value='INSUMO'>INSUMO</option><option value='ESCRITORIO'>ESCRITORIO</option><option value='PROTOTIPO'>PROTOTIPO</option><option value='MARKETING'>MARKETING</option><option value='PINTURA'>PINTURA</option><option value='MANUTENCAO'>MANUTENCAO</option><option value='EXTRA'>EXTRA</option><option value='REVENDA'>REVENDA</option></select> Quantidade: <input type='text' size='2' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE A QUANTIDADE' name='qtd[]' value='' style='width:90px;height:20px;'> Unidade: <select name='unidade[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A UNIDADE' id='produto'><option value='0'><Selecione a unidade></option><?php while($array = mysql_fetch_array($sql_unidade)) {?><option label='<?php echo $array[nome] ?>' value='<?php echo $array[nome]; ?>'><?php echo $array[nome] ?></option><?php } ?></select> Valor: <input type='text' size='5' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE O VALOR UNITARIO' name='valorun[]' value='' style='width:90px;height:20px;' onkeypress='mascara(this,mvalor)'> ";
nova.appendChild(novadiv);

HAHAHA

eu botei no dreamweaver xD~

foi chatim!

 

 

 

 

 

 

ja que arrumei né vou postar pra quem quiser ler

 

<select name='produto[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE O PRODUTO' id='produto'>
<option value='0'>
<Selecione o tipo>
</option>
<?php while($array1 = mysql_fetch_array($sql)) {?>
<option label='<?php echo $array1[nome] ?>' value='<?php echo $array1[id].'_'.$array1[nome]; ?>'>
<?php echo $array1[nome] ?></option><?php } ?></select> 
Categoria: <select name='categoria[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A CATEGORIA' id='produto'>
<option value='EQUIPAMENTO'>EQUIPAMENTO</option>
<option value='INFRAESTRUTURA'>INFRAESTRUTURA</option>
<option value='INSUMO'>INSUMO</option>
<option value='ESCRITORIO'>ESCRITORIO</option>
<option value='PROTOTIPO'>PROTOTIPO</option>
<option value='MARKETING'>MARKETING</option>
<option value='PINTURA'>PINTURA</option>
<option value='MANUTENCAO'>MANUTENCAO</option>
<option value='EXTRA'>EXTRA</option>
<option value='REVENDA'>REVENDA</option>
</select> Quantidade: <input type='text' size='2' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE A QUANTIDADE' name='qtd[]' value='' style='width:90px;height:20px;'> 
Unidade: <select name='unidade[]' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='SELECIONE A UNIDADE' id='produto'>
<option value='0'><Selecione a unidade></option><?php while($array = mysql_fetch_array($sql_unidade)) {?>
<option label='<?php echo $array[nome] ?>' value='<?php echo $array[nome]; ?>'><?php echo $array[nome] ?></option><?php } ?></select> 
Valor: <input type='text' size='5' style='background:lightgray;padding:5px; -moz-border-radius:5px' title='DIGITE O VALOR UNITARIO' name='valorun[]' value='' style='width:90px;height:20px;' onkeypress='mascara(this,mvalor)'>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sandro vlw, a unica coisa que tive que mudar da sua sugestão foi ao inves de colocar [0] foi colocar [$i].

sobre o javascript fui digitando sem dar enter, agora organizei tudo.

 

obrigado, funcionou com a ajuda de voces!!!

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.