Ir para conteúdo

POWERED BY:

Arquivado

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

Lididalferro

[Resolvido] Cálculo

Recommended Posts

Pessoal,

estou com uma dúvida. Criei um formulário de pedido, onde os inputs texts são criados dinamicamente, de acordo com a quantidade de dados que contém no banco mysql. O campo quantidade será preenchido pelo usuário e vr total será automaticamente calculado ao digitar a quantidade.

O problema é que estou validando e calculando os dados via javascript e não estou sabendo como atribuir o valor ao php. Se eu coloco somente txtTot tanto no php quanto no javascript, ele calcula o total, porém, apenas do primeiro produto.

 

Abaixo posto meu formulário para que se alguém souber, me informe onde estou errando. Minha dúvida está comentada no código (/*Como atribuir esse valor para o input do Total id='txtTot".$i."'?*/)

 

Agradeço antecipadamente.

 

<form name="frm_cadastroPedido" id="frm_cadastroPedido" action="act_cadastroPedido.php" method="post">
<?php



	$dtAtual = date('Y-m-d');

	/*SELECIONA O ÚLTIMO NÚMERO PEDIDO E SOMA +1 A ELE*/
	$sql = mysql_query("SELECT numero FROM num_pedido ORDER BY id_num DESC LIMIT 1");
	for($i=0; $i<mysql_num_rows($sql); $i++){
		$reg = mysql_fetch_array($sql);
		$Numero = $reg['numero'];
		$Soma=$Numero+1;
	}

	echo "Número Pedido: ".$Soma;
	echo "<br/>Data";
	echo "<input type='text' name='txtData' id='txtData' value='$dtAtual' readonly='readonly' size='10'><br/>";

	/*CRIA CAMPO USUÁRIO*/
	include_once("../includes/select_usuario.php");

	$resultUsuario=mysql_query("select id_usuario from usuario where nome='".$Nome."'");
	if (mysql_num_rows($resultUsuario)!=0){
		$regUsu=mysql_fetch_array($resultUsuario);
		$IdUsu = $regUsu["id_usuario"];
	}

	/*CRIA CAMPO CLIENTE*/
	include_once("../includes/select_cliente.php");

	/*CRIA CAMPO UF*/
	echo "UF: <select name='cboUF' id='cboUF' onchange='javascript:trazerUF();'>";
		$UF = $_POST["cboUF"];
		$sql = "select uf from estados WHERE uf='GO' OR uf='MG' order by uf";
				$result=mysql_query($sql);
					if(mysql_num_rows($result)==0)
						echo "Tabela vazia!";
				    else{
						echo "<option value=''></option>";
						for($i=0; $i<mysql_num_rows($result);$i++){
							$REG=mysql_fetch_array($result);
							echo "<option value="."'".$REG["uf"]."'";
							if ($REG['uf']==$UF)
								echo " selected";
							echo ">";
							echo $REG["uf"];

							echo "</option>";
						}
						echo "</select>";

						}

	/*OS CAMPOS FORNECEDOR E PRODUTO JÁ DEVERÃO VIR PREENCHIDOS VIA POST DA PESQUISA PRODUTO*/

	/*CRIA CAMPO FORNECEDOR*/		
	include_once("../includes/select_fornecedor.php");

	$resultForn=mysql_query ("select id_fornecedor from fornecedor where nome_fantasia='".$Fornecedor."'");
	if (mysql_num_rows($resultForn)!=0){
		$reg2=mysql_fetch_array($resultForn);
		$IdForn = $reg2["id_fornecedor"];

		/*CRIA TABELA PRODUTO*/

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

			if(mysql_num_rows($sqlProduto)==0){
				echo "Tabela vazia!";
			}//Fecha o if

			else{
				echo "<table border='1'>
				<tr>

					<th> Código </th>
					<th> Linha </th>
					<th> Descrição </th>
					<th> Conteúdo </th>
					<th> Cor </th>
					<th> Cod. Barra </th>
					<th> R$ Unit. </th>
					<th> Quant </th>
					<th> R$ Total </th>
				</tr>";

					for($i=0; $i<mysql_num_rows($sqlProduto); $i++){
						$regProd = mysql_fetch_array($sqlProduto);
						$Cod = $regProd["codigo"];
						$Linha = $regProd["linha"];
						$Desc = $regProd["descricao"];
						$Cont = $regProd["conteudo"];
						$Cor = $regProd["cor"];
						$codBarra = $regProd["cod_barra"];

						/*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>". $Cod ."</td>";
								echo "<td>". $Linha ."</td>";
								echo "<td>". $Desc ."</td>";
								echo "<td>". $Cont ."</td>";
								echo "<td>". $Cor ."</td>";
								echo "<td>". $codBarra ."</td>";
								$Qunt = 0;
								echo "<td> <input type='text' name='valor".$i."' id='txtUnit' value='". $VrUnit ."' maxlength='13' size='10' special='price' readonly='readonly' /> </td>";
								echo "<td> <input type='text' name='qtde".$i."' id='txtQuant' value='".$Qunt."' special='quantity' maxlength='6' size='3' onblur='javascript:calcTotal();' /> </td>";
								$Total = $VrUnit * $Qunt ;
								echo "<td><input type='text' name='total".$i."' id='txtTot".$i."' value='".$Total."' size='10' readonly='readonly'> </td>";											
								$numLinhas = mysql_num_rows($sqlProduto);
								echo "<input type='hidden' name='linhas' id='linhas' value='".$numLinhas."'>";		
								?>	
								<script language="javascript" type="text/javascript">
									function calTotal(){
										var qtd = <?php echo $Qunt; ?>;
										var unid = <?php echo $VrUnit; ?>;
										var total = qtd * unid;
									}

									/*Como atribuir esse valor para o input do Total id='txtTot".$i."'?*/
									var num = <?php echo $numLinhas; ?>;
									for(var i=0; i< num.length; i++){
										total = document.getElementById('txtTot'[i]).value;
									}

									/*Calcula o valor total, sem desconto, dos produtos*/
									function calc(){ 

									var prices = new Array(); 
									var quantities = new Array();
									var counter = 0; 
									var total = 0; 
									var elements = document.getElementsByTagName('input'); 

									for(var i = 0; i < elements.length; i++){ 

									if(elements[i].getAttribute('special') == 'price'){ 
									prices[counter] = parseFloat(elements[i].value); 
									} 

									if(elements[i].getAttribute('special') == 'quantity'){ 
									quantities[counter] = parseInt(elements[i].value); 
									counter++; 
									}

									}//Fim for 

									for(var i = 0; i < prices.length; i++){ 
									total += (prices[i] * quantities[i]);
									}//Fim for 


									document.getElementById('total').value = total; 

									}//Fim function 

                                   </script>
                           <?php																														

						echo "</tr>";
					}//Fecha o for

			echo "<tr>";
				echo "<td colspan='8'>Total s/ Desconto</td>";
				echo "<td> <input type='text' name='total' id='total' value='' size='10' readonly='readonly' /> </td>";
			echo "</tr>";
			echo "<tr>";
				echo "<td colspan='8'>Desconto</td>";
				echo "<td> <input type='text' name='txtDesc' id='txtDesc' value='' maxlength='3' size='3' />% </td>";
			echo "</tr>";
			echo "<tr>";
				echo "<td colspan='8'>Vr. do Desconto</td>";
				echo "<td> <input type='text' name='txtVrDesc' id='txtVrDesc' value='' size='10' readonly='readonly' /> </td>";
			echo "</tr>";
			echo "<tr>";
				echo "<td colspan='8'>Total a Pagar</td>";
				echo "<td> <input type='text' name='txtTotPag' id='txtTotPag' value='' size='10' readonly='readonly' /> </td>";
			echo "</tr>";
			echo "</table><br/>";
			}

	}								
	echo "<input type='submit' name='btnEnviar' value='Incluir Pedido'>";

?>

</form>

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.