Jump to content

Recommended Posts

Olá,

Fiz um código p/ carrinho de compras utilizando php (odbc) e firebird mas estou com problemas na hora de deletar o item adicionado ao carrinho.

Na minha página do carrinho de compras preciso de um botão para deletar esse item, porém ele exclui sempre o ultimo item adicionado, mesmo eu clicando no botão do primeiro item, quem é deletado é o ultimo sempre.

meu código está um pouco extenso então tentarei fazer um resumo.

Eu faço o select no banco de dados, trazendo todos os detalhes dos produtos que estão dentro daquele carrinho, então exibo eles através de um While, como eu não sei manipular outras linguagem fora php, html e css, fiz uma gambiarra.... cada botão pertence a um form, e através do while é repetido a cada item, e para deletar o item do carrinho eu puxo um o ID do produto e o ID da lista, e armazeno eles dentro de uma $_SESSION["ID_PRODUTO"] e $_SESSION["ID_LISTA"], e através do formulário eu faço um post na página onde está o seguinte código:

 

@session_start();
if (!empty($_SESSION["ID_LISTA"]) && !empty($_SESSION["ID_LISTA"])) {
$ID_LISTA = $_SESSION["ID_LISTA"];
$ID_ITEM = $_SESSION["ID_ITEM"];
$query = "DELETE FROM TBL_CARRINHO_ITEM WHERE ID_ITEM=".$ID_ITEM." AND ID_LISTA=".$ID_LISTA;
$result = odbc_exec($conn, $query);
..........
eu sei que o problema está na minha session, por causa do While sempre está recebendo um novo valor, mas tem como eu pegar o valor de cada ID_LISTA e ID_PRODUTO sem que sejam substituído pelo proximo por causa do while?
________
o meu código é basicamente:
select = "dados do banco";
while (odbc_fetch_row($result)){
<listview>
exibe os dados
<form>
btn-excluir
</form>
<listview>
}

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Caio Vargas
      Olá pessoa tudo beleza
      Estou criando um ecommerce porém estou com uma dúvida de como posso calcular o frete altura largura e comprimento de vários produtos no carrinho fiz a comparação do site dos correios e está dando diferença mínima de 4 reais alguém pode me ajudar ?
    • By dutopfave
      Boa Tarde, estou criando uma loja virtual, e a questão é voltado para o carrinho de compras, ate agora ta tudo certo, funcionando normal, porém tem produtos que tem vários tamanho, exemplo eu tenho um tênis, e eu posso escolhe se quero tamanho 41 ou 42, blz ate ai ele registra certinho no banco, porém, se por a caso eu também queira compra o do tamanho 41, e dps volto la e compro o 42, invés de cria 2 produto no carrinho ele acaba atualizando o mesmo, pegando o ultimo tamanho q escolhi e na quantidade aumentando pra 2, vou manda o código aki, pq o ideal seria aparece 2 produto no carrinho, pq são 2 tamanho diferente, e isso ta quebrando a cabeça:
      Código:
      if($_GET['acao'] == 'adds'){ $qtds = $_POST['qtds']; $cart_tamanho = $_POST['cart_tamanho']; if(!isset($_SESSION['carrinho'][$id]) && $_SESSION['carrinho'][$id] < $Verifica_qtd_row2){ $_SESSION['carrinho'][$id] = $qtds; $_SESSION['cart_tamanho'][$id] = $cart_tamanho; }elseif($_SESSION['carrinho'][$id] < $Verifica_qtd_row2){ $_SESSION['carrinho'][$id] += $qtds; $_SESSION['cart_tamanho'][$id] = $cart_tamanho; }else{ $_SESSION['carrinho'][$id] = 1; $_SESSION['cart_tamanho'][$id] = $cart_tamanho; } }  
    • By Aureo Almeida
      Estou tentando modificar um projeto de carrinho de compras cujo script peguei entre vários que está disponível na internet. Ele funciona bem, porém com uma determinada lógica: a quantidade de itens de um produto é aumentada conforme a quantidade de vezes que o cliente adicionar o produto. Ou seja, se ele for na página do produto para inseri-lo 3 vezes, ele aumenta a quantidade para 3. O problema é que no projeto que estou desenvolvendo os produtos possuem possibilidade de escolha de quantidade, pois podem ser vários e não dá para a pessoa ir e clicar 15 vezes nele.
      E não estou conseguindo mudar está lógica. O que eu gostaria é que quando o cliente selecionasse uma quantidade, e isso não é um problema, essa quantidade fosse recebida na página do carrinho junto com outras informações do produto puxado pela id dele no banco de dados.
      Este é o script básico:
      <?php $item_carrinho = 0; if(count($_SESSION['carrinho']) > 0){ foreach($_SESSION['carrinho'] as $id_produtos_carrinho => $quantidade_produto_carrinho){ $item_carrinho++; $query = "SELECT * FROM psd_produtos WHERE psd_produtos.prd_id = '".$id_produtos_carrinho."'"; $read_produto_carrinho = mysqli_query($conn, $query) or die(mysql_error()); if(mysqli_num_rows($read_produto_carrinho) > 0){ foreach($read_produto_carrinho as $read_produto_carrinho_view); $valor_total_produto_carrinho = $quantidade_produto_carrinho * $read_produto_carrinho_view['prd_valor']; $valor_total_venda += $valor_total_produto_carrinho; } echo ' <tr> <td class="car-item">'.$item_carrinho.'</td> <td class="car-nome">'.$read_produto_carrinho_view['prd_nome'].'</td> <td class="car-valor">'.number_format($read_produto_carrinho_view['prd_valor'], 2, ',', '.').'</td> <td class="car-qtd">'.$quantidade_produto_carrinho.'</td> <td class="car-total">'.number_format($valor_total_produto_carrinho, 2, ',', '.').'</td> <td class="car-opcao"><a href="deletar-prod1.php?id='.$id_produtos_carrinho.'" class="opcao">Excluir<a/></td> </tr> '; } } ?>  
    • By brunoatratrus
      Bom dia!
      Sou iniciante em JavaScript e estou quebrando a cabeça pra resolver um problema, vê se vocês podem me ajudar.
      O projeto consiste em um sistema de vendas online bem simples, por isso não utilizei nenhuma plataforma.
       
      O código abaixo é o script que adiciona produtos no carrinho sem dar refresh:
      $(document).ready(function(){ $("#addcarrinhoajax").click(function(){ var envio = $.get("add_carrinho.php", { idproduto: $("#idproduto").val(), }) envio.done(function(data) { // AQUI É QUE ESTÁ O PROBLEMA }) envio.fail(function() { alert("Erro na requisição"); }) }); }); Esse é o código add_carrinho.php:
      <?php session_start(); require_once 'admin/conexao.php'; $idproduto = $_GET['idproduto']; if(!isset($_SESSION['itens'][$idproduto])) { $_SESSION['itens'][$idproduto] = 1; }else{ $_SESSION['itens'][$idproduto] += 1; } ?> Aqui vem uma parte do código onde lista os produtos, a parte onde tem o form com o botão para adicionar produto:
      <form action="" method="GET"> <input type="hidden" id="idproduto" name="idproduto" value="<?php echo $item['id']; ?>"> <img src="img/carrinho.png"> <button type="button" id="addcarrinhoajax"> Add</button> </form> Código do carrinho, onde só aparece o preço total. O carrinho fica numa DIV fixa na lateral.
      <div class="preco"> <?php if(count($_SESSION['itens']) == 0) { echo "Carrinho Vazio"; }else { echo 'R$ ' . number_format($somaCarrinho, 2, ',', '.'); } ?> </div> A questão é a seguinte: Toda vez que clico no botão para adicionar, ele adiciona mas não muda o valor! Preciso atualizar a página pra vê o valor total no carrinho.
      Como faço pra quando apertar o botão de add, atualizar junto o preço do carrinho dinamicamente?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.