Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida em script


lidiane Oliveira

Pergunta

Pessoal,

estou a seguinte dúvida:

Criei um formulário que traz os dados do banco e possui campo quantidade para preenchimento pelo usuário e que, calcula o valor total de acordo com a quantidade informada pelo usuário. Os campos são dinâmicos, gerados dentro de um for, ou seja, os ids dos campos serão gerados com um índice, como se pode ver abaixo:

/*CRIA TABELA DE PRODUTOS DE ACORDO COM O UF SELECIONADO*/

$sqlProduto = mysql_query("SELECT * FROM produto WHERE id_fornecedor=$IdForn GROUP BY descricao");

$numLinhas = mysql_num_rows($sqlProduto);

if($numLinhas==0){

echo "Tabela vazia!";

}//Fecha o if

else{

echo "<table border='1'>

<tr>

<th> </th>

<th> C&oacute;digo </th>

<th> Linha </th>

<th> Descri&ccedil;&atilde;o </th>

<th> Conte&uacute;do </th>

<th> Cor </th>

<th> Cod. Barra </th>

<th> R$ Unit. </th>

<th> Quant </th>

<th> R$ Total </th>

</tr>";

for($x=0; $x< $numLinhas; $x++){

$regProd = mysql_fetch_array($sqlProduto);

$Cod = $regProd["codigo"];

$Linha = $regProd["linha"];

$Desc = $regProd["descricao"];

$Cont = $regProd["conteudo"];

$Cor = $regProd["cor"];

$codBarra = $regProd["cod_barra"];

$IdProd = $regProd["id_produto"];

/*Atribui um valor ao estado selecionado*/

$VrUnit=0;

if($_POST["cboUF"]==GO"){

$VrUnit = $regProd['vr_unitGO];

}

else{

$VrUnit = $regProd['vr_unitMG'];

}

echo "<tr>";

echo "<td> <input type='checkbox' name='campo[ck]' id='ck".$x."' value='".$IdProd."'/> </td>";

echo "<td> <input type='text' name='campo[cod]' id='txtCod".$x."' value='". $Cod ."' size='1' /></td>";

echo "<td> <input type='text' name='campo[linha]' id='txtLinha".$x."' value='". $Linha ."' /></td>";

echo "<td> <input type='text' name='campo[prod]' id='txtProd".$x."' value='". $Desc ."'/> </td>";

echo "<td> <input type='text' name='campo[cont]' id='txtCont".$x."' value='". $Cont ."' size='4' /></td>";

echo "<td> <input type='text' name='campo[cor]' id='txtCor".$x."' value='". $Cor ."' /></td>";

echo "<td> <input type='text' name='campo[codBarra]' id='txtCodBarra".$x."' value='". $codBarra ."' /></td>";

echo "<input type='hidden' name='campo[numPed]' value='".$Soma."'>";

echo "<input type='hidden' name='campo[idProd]' value='".$IdProd."'>";

echo "<input type='hidden' name='campo[idForn]' value='".$IdForn."'>";

echo "<input type='hidden' name='campo[idCli]' value='".$IdCli."'>";

echo "<input type='hidden' name='campo[idUsu]' value='".$IdUsu."'>";

?>

<td> <input name="campo[unit]" type="text" id="unit_<?php echo $x ?>" style="width:50px" onfocus="startCalc(); startTot();" onblur="stopCalc(); stopTot();" size="23" value="<?php echo $VrUnit ?>" readonly="readonly" special='price' /></td>

<td><input name="campo[quant]" type="text" id="quant_<?php echo $x ?>" value='0' style="width:50px" onfocus="startCalc(); startTot();" onblur="stopCalc(); stopTot();" size="5" special='quantity' /></td>

<td><input name="campo[tot]" type="text" id="tot_<?php echo $x ?>" style="width:50px" size="23" readonly="readonly" /> </td>

<?php } /*FECHA for*/

echo "<tr>";

echo "<td colspan='9'>Total s/ Desconto</td>";

echo "<td> <input type='text' name='total' id='total' value='0.00' size='10' readonly='readonly' onfocus='startDesc(); startTot_Desc();' onblur='stopDesc(); stopTot_Desc();' /> </td>";

echo "</tr>";

ech

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Continuando o tópico anterior, minha dúvida é a seguinte: Como recuperar os dados no action do formulário, já que são dinâmicos, possuem o mesmo name em array e cada campo é diferenciado pelo índice.

Abaixo o action que criei e que só recupera o último registro. Preciso que sejam recuperados todos os registros que forem selecionados no respectivo checkbox que tb é dinâmico.

<?php

include "../conexao.php";

$dados = $_POST['campo'];

$sqlProd = mysql_query("SELECT id_produto FROM produto WHERE id_fornecedor=.$dados['idForn]);

$numReg = mysql_num_rows($sqlProd);

$TotSDesc = $_POST['total'];

$Desc = $_POST['txtDesc'];

$VrDesc = $_POST['txtVrDesc'];

$TotPag = $_POST['txtTotPag'];

$Observ = $_POST['txtObserv'];

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

echo "<p> Número Pedido: ".$dados['numPed'];

echo "<br/> Id Produto: ".$dados['idProd'];

echo "<br/> Id Fornecedor: ".$dados['idForn'];

echo "<br/> Id Cliente: ".$dados['idCli'];

echo "<br/> Id Usuário: ".$dados['idUsu'];

echo "<br/> Código: ".$dados['cod'];

echo "<br/> Linha: ".$dados['linha'];

echo "<br/> Produto: ".$dados['prod'];

echo "<br/> Conteúdo: ".$dados['cont'];

echo "<br/> Cor: ".$dados['cor'];

echo "<br/> Cód. Barra: ".$dados['codBarra'];

echo "<br/> Valor unitário: ".$dados['unit'];

echo "<br/> Quantidade: ".$dados['quant'];

echo "<br/> Valor Total: ".$dados['tot'];

}

echo "<p> Total S/ Desconto: ".$TotSDesc;

echo "<br/> Desconto: ".$Desc;

echo "<br/> Valor Desconto: ".$VrDesc;

echo "<br/> Total Pagar: ".$TotPag;

echo "<br/> Observação: ".$Observ;

/*Sql para cadastro no banco*/

?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      153k
    • Posts
      652,8k
×
×
  • Criar Novo...