Ir para conteúdo

POWERED BY:

Arquivado

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

tgbara

Atualizar quantidade de itens no carrinho de compras

Recommended Posts

Boa noite pessoal,

 

 

Estou com algumas dúvidas ao implementar a função javascript para alterar o conteúdo de um campo com a função onblur e salvando esse valor no banco de dados. Consegui implementar a função onblur ele acessa a função mudaQtd() do javascript porém não salva a alteração no banco de dados e só altera certinho quando tem um produto no carrinho, quando tem mais de um se eu edito um campo da quantidade ele altera todos os demais produtos também.

 

Tenho dúvidas em como fazer uma função para os botões (+) e (-) para alterar a quantidade, não consegui implementar, minha dúvida esta em como construir essas funções javascript.

 

FUNÇÃO JAVASCRIPT

 function mudaQtd(){

var qtd = parseFloat(document.getElementById("qtd").value); 


if (qtd <= 0){
window.alert('Valor não pode ser menor ou igual a zero');
window.document.location.reload();
}else{

window.location='carrinho1.php?quantidade='+qtd+'&mudando=mudarQtd';
}
}
</script>

 

 

ATUALIZAR O VALOR EDITADO NO BD

 

if ($_GET['mudando'] == "mudarQtd")
     {
if (isset ($_GET['quantidade']))
  {

         $qtdatt = $_GET['quantidade'];


//atualiza o carrinho com a nova quantidade
	 $sql_attq="UPDATE carrinho SET qtd_produto = '".$qtdatt."' WHERE      id_produto = '".$reg_lista['id_produto']."' AND sessao = '".session_id()."' 
								AND status_carrinho = 'A'";
   $exe_attq = mysql_query ($sql_attq, $bd)or die (mysql_error());
}
  }

 

 

CÓDIGO QUE CHAMA A FUNÇÃO JAVASCRIPT e o codigo dos botões (+) e (-)

<td width="87" align="center" id="prod"><div id="sprytrigger1">

                                     <div align="right">
<------ abaixo codigo do botão para aumentar quantidade de produtos ----> 

<a href="carrinho1.php?quantidade=aumenta&qtdatual=<?php echo $qtdatt ?>">
                                     <img src="images/plusBtn.gif" alt="adicionar qtd" width="15" height="16"  border="0" />
                                     </a>
                       <---------------------->

                                       <span id="sprytextfield<?php echo $reg_lista['id_produto'];?>">

                           --->abaixo codigo que chama a função mudaQtd<---

<input name="qtd[<?php echo $reg_lista['id_produto'];?>]" id="qtd"  type="text" class="ctext"  
								value="<?php echo $qtdatt?>" size="3" onblur="javascript:mudaQtd()" />

                                <------------------>       

   <----abaixo codigo do botão para diminuir quantidade ---->                                   

<a href="carrinho1.php?quantidade=diminui&qtd=<?php echo $qtdatt;?>"><img src="images/minusBtn.gif" alt="diminuir qtd" width="15" height="16" border="0" /></a><br />

                    <------------------------------>


Compartilhar este post


Link para o post
Compartilhar em outros sites

achei uma função boa para funcionar os botões (+) e (-)

 

http://forum.zwame.pt/showthread.php?t=277215&page=1

 

porém não funcionou pois já estou trabalhando dentro de um form e aqui nesse trecho:

 

<form name="me">

<center><input type="button" name="botaomais" value='+' onclick='mais1()'>

<input type="button" name="botaomenos" value='-' onclick='menos1()'>

<input type="text" size="5" name="textgol" value="0">

</form>

 

fala para deixar entre o form 'me', quando coloquei o form name="me" dentro bagunçou todo o código, quebrou tabelas mas funcionou os botões de incremento e decremento da variavel, mas em apenas um produto do carrinho, no outro produto abaixo não funcionou, tenho que relacionar com o id do produto ou fazer um for,foreach porém não visualizei uma maneira, como inserir um for no javascript para deixar editar os valores do campo alterando um por um sem mexer no outro produto???depois preciso inserir no bd ainda esse valores editados na variável.

Compartilhar este post


Link para o post
Compartilhar em outros sites

<?php // altera quantidade no banco quando acionada função onblur. Desata-se um evento onblur quando um elemento perde o foco da aplicação. O foco da aplicação é o lugar onde está situado o cursor, por exemplo, pode estar situado sobre um campo de texto, uma página, um botão ou qualquer outro elemento.    

if (isset ($_GET['quantidade']))
  {

	$qtd_produto=$_GET['quantidade'];


//atualiza o carrinho com a nova quantidade
	 $sql_attq="UPDATE carrinho SET qtd_produto = '".$qtd_produto."' WHERE      id_produto = '".$id."' AND sessao = '".session_id()."' 
								AND status_carrinho = 'A'";
   $exe_attq = mysql_query ($sql_attq, $bd)or die (mysql_error());
}

?>   

 

consegui adicionar a nova quantidade no banco de dados, porém não consegui alterar em mais de um produto no carrinho, por exemplo se eu altero a quantidade do produto 1 ele também altera a quantidade do produto 2, quero editar apenas um produto por vez, sei que para isso precisar colocar um foreach mas tentei aqui e não deu certo.

 

 

 

Se puder mover o tópico para sessão de php talvez possam me ajudar com mais facilidade.

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.