Ir para conteúdo

POWERED BY:

Arquivado

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

mruoppolo

Adicionar quantidade

Recommended Posts

Galera, tudo bem??

 

Estou com um problema grande aqui, acho que a minha falta de conhecimento em javascript esta deixando mais complicado do que é de verdade.

 

Eu tenho um sisteminha aqui onde o cliente vai selecionando peças de um computador e através do ajax o sistema busca os valores no banco de dados e vai montando um orçamento, até ai esta tudo funcionando blz, mas agora me pediram pra em alguns campos, como por exemplo, memória ram, eu colocar também um campo de quantidade.

 

Ai que esta o problema, eu estou pegando todos os dados do formulário e enviando para uma página chamada calculo.php todos os ids dos produtos selecionados nas selects e fazendo a soma dos valores deles no banco de dados, para isto utilizo o serialize() para enviar via POST todos os dados para a página calculo.php

 

Porém ai que esta, ja que eu estou utilizando o serialize, como eu vou fazer para conseguir adicionar o campo de quantidade??

 

 

o formulário esta assim:

<?php
	$sql_memoria = mysql_query("select * from isc_products where prodcatids = '18' and prodvisible = '1' and prodcurrentinv >= '1'  order by prodprice asc");
	$contar_memoria = mysql_num_rows($sql_memoria);
	if($contar_memoria >= 1){
?>
	<div class="boxprodsmonte">
		<div id="memorias">					
		<div class="boxprodsmonte">
		<h2>MEMÓRIA</h2>
			<select name="product_id[]" class="product_id" required class="botaoexibir" onchange="cadastraProduto( this.value );">
				<option value="">Selecione uma Opção</option>
				<?php 
					while($memoria = mysql_fetch_assoc($sql_memoria)) { 
				?> 
					<option class="option" value="<?php echo $memoria['productid']?>"><?php echo $memoria['prodname']?></option>
				<?php
					}
				?>
			</select>
			<br><br>Quantidade: <input type="text" name="qtd_ssd" class="product_id" placeholder="1">
		</div>
		</div>
	</div><!--/MEMÓRIAS-->
<?php
	}
?>

o calculo.js esta assim:

$(document).ready(function(){
	// monitorando o evento change dos campos
    $('#produto :input').bind('change',function(){
	// enviando os valores atuais dos campos ao PHP
	$.post('calculo.php',{
		// serializando o formulario
	    dataForm: $("#produto").serialize()
	},
	function(data){
		// obtendo o retorno do PHP / atualizando o valor
	    $('#total').html(data)
		// informando o total ao campo hidden 
		// sera utilizado ao submeter o form
	    $('#total_compra').val(data)
	})
    })
    	
    // realiza o calculo no inicio ou após um refresh
    $.post('calculo.php',{
		dataForm: $("#produto").serialize()
    },
    function(data){
		$('#total').html(data)
		$('#total_compra').val(data)
    })
})

e o calculo.php esta assim:

<?php
require_once('includes/config.php'); //CONEXÃO COM O BANCO DE DADOS
session_start();
if (isset($_POST['dataForm'])){
 
parse_str($_POST['dataForm']);
 
$total = 0;
$product_id = array_filter($product_id);

if (sizeof($product_id)){
  // a soma dos itens é feita direto na query
  $sql = mysql_query("SELECT SUM(prodprice) AS calculo FROM isc_products 
  WHERE productid IN(".implode(", ", $product_id).")") or die (mysql_error());
  
  while ($row = mysql_fetch_assoc($sql)){
    $total += $row['calculo'];
  }
}

for ( $i = 0, $size = count( $product_id ); $i < $size; $i++ )
{
   $_SESSION['product'][$i] = $product_id[$i];
}
$percentual = 5.0 / 100.0; // 15%
$valor_final = $total - ($percentual * $total);
echo number_format($valor_final, 2, ',', '.');
 
}

$parcelas = $total/2;

?>

Alguém tem alguma ideia de como eu posso fazer isso??

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.