Pesquisar na Comunidade
Mostrando resultados para as tags ''programaçãoweb''.
Encontrado 3 registros
-
Então, ultima duvida sobre esse carrinho, quando eu removo um produto, remove todas as quantidades incluidas, se tiver 10 quantidades do produto, as 10 são removidas, gostaria que meu remover excluisse apenas uma quantidade por vez, aqui abaixo vou deixar o codigo do carrinho e o codigo do meu arquivo remover; Carrinho: < <?php session_start(); if (!isset( $_SESSION['itens'] )) : $_SESSION['itens'] = array(); endif; if ( isset( $_GET['add'] ) && $_GET['add'] == "carrinho" ) : $idProduto = $_GET['id']; if (!isset ($_SESSION['itens'][$idProduto])): $_SESSION['itens'][$idProduto] = 1; else: $_SESSION['itens'][$idProduto] +=1; endif; endif; if ( count( $_SESSION['itens'] ) == 0 ) : echo ' <h1>Carrinho vazio</h1>'; else: $_SESSION['dados'] =array(); $conexao = new PDO ('mysql:host=localhost;dbname=meusprodutos',"root", ""); ?> <table > <thead> <th>Nome</th> <th>Preço</th> <th>Quantidade</th> <th>Subtotal</th> <th>Opções</th> </thead> <tbody> <?php $totalcarrinho = 0; foreach ( $_SESSION['itens'] as $idProduto => $quantidade ) : $select = $conexao->prepare("SELECT * FROM produtos WHERE id=?"); $select ->bindParam(1, $idProduto); $select ->execute(); $produtos = $select->fetchAll(); $total = $quantidade * $produtos[0]["preco"]; if(count( $_SESSION['itens'] ) == 0 ) : $totalcarrinho = 0; else: $tempcarrinho = $totalcarrinho; $totalcarrinho = $tempcarrinho + $total; endif; ?> <tr> <td><div align="center" style="font-size:20px; font-family: verdana"> <font color="black"><?=$produtos[0]["nome"]?></font> </div></td> <td><?=number_format( $produtos[0]["preco"], 2, ", ", "." )?></td> <td><div align="center"> <?=$quantidade?> </div></td> <td><?=number_format( $total, 2, ",", "." )?></td> <td> <a href="remover.php?remover=carrinho&id=<?=$idProduto?>">Remover</a> | <a href="?add=carrinho&id=<?=$idProduto?>">Add +1</a> </td> </tr> <?php array_push($_SESSION['dados'], array ('id_produto' => $produtos[0]["nome"], 'quantidade' => $quantidade, 'preco' => $produtos[0]["preco"], 'total' => $total ) ); endforeach; ?> </tbody> </table> <table> <td><div align='center' style='font-size:25px;font-family:Verdana'>Total <?=number_format( $totalcarrinho, 2, ",", "." )?></div></td> </table> <?php echo '<a href="finalizar.php">Finalizar pedido</a>'; endif; ?> > Agora o arquivo remover: < <?php session_start(); if(isset ($_GET['remover'])&& $_GET['remover'] == "carrinho") { $idProduto = $_GET['id']; unset ($_SESSION['itens'][$idProduto]); echo '<META HTTP-EQUIV="REFRESH" CONTENT="0; URL=carrinho.php"/>'; } ?> >
-
Então, eu consigo alterar a quantidade do meu produto no carrinho atravez do php, mas da um reload na pagina, e dessa forma fica inviavel, eu gostaria de alterar o valor atravez de um input ou algo assim, pra que eu pudesse alterar a quantidade sem que ocorresse o reload na pagina, soube que isso é feito atravez do javascript, e eu não sei nada dessa linguagem, ainda tenho dificuldade até no PHP, se alguem puder me ajudar eu agradeço de verdade, aqui tá o código do meu carrinho: < <?php session_start(); if (!isset( $_SESSION['itens'] ) ) : $_SESSION['itens'] = array(); endif; if ( isset( $_GET['add'] ) && $_GET['add'] == "carrinho" ) : $idProduto = $_GET['id']; if (!isset ($_SESSION['itens'][$idProduto])) : $_SESSION['itens'][$idProduto] = 1; else: $_SESSION['itens'][$idProduto] +=1; endif; endif; if ( count( $_SESSION['itens'] ) == 0 ) : echo ' <h1>Carrinho vazio</h1>'; else: $_SESSION['dados'] =array(); $conexao = new PDO ('mysql:host=localhost;dbname=meusprodutos',"root", ""); ?> <table > <thead> <th>Nome</th> <th>Preço</th> <th>Quantidade</th> <th>Subtotal</th> <th>Opções</th> </thead> <tbody> <?php $totalcarrinho = 0; foreach ( $_SESSION['itens'] as $idProduto => $quantidade ) : $select = $conexao->prepare("SELECT * FROM produtos WHERE id=?"); $select ->bindParam(1, $idProduto); $select ->execute(); $produtos = $select->fetchAll(); $total = $quantidade * $produtos[0]["preco"]; if(count( $_SESSION['itens'] ) == 0 ) : $totalcarrinho = 0; else: $tempcarrinho = $totalcarrinho; $totalcarrinho = $tempcarrinho + $total; endif; ?> <tr> <td><div align="center" style="font-size:20px; font-family: verdana"> <font color="black"><?=$produtos[0]["nome"]?></font> </div></td> <td><?=number_format( $produtos[0]["preco"], 2, ", ", "." )?></td> <td><div align="center"><a href="remover.php?remover=carrinho&id=<?=$idProduto?>">◄</a> <?=$quantidade?><a href="carrinho.php?add=carrinho&id=<?=$idProduto?>">►</a> </div></td> <td><?=number_format( $total, 2, ",", "." )?></td> <td> <a href="remover2.php?remover=carrinho&id=<?=$idProduto?>">Remover</a> </td> </tr> <?php array_push($_SESSION['dados'], array ('id_produto' => $produtos[0]["nome"], 'quantidade' => $quantidade, 'preco' => $produtos[0]["preco"], 'total' => $total ) ); endforeach; ?> </tbody> </table> <table> <td><div align='center' style='font-size:25px;font-family:Verdana'>Total <?=number_format( $totalcarrinho, 2, ",", "." )?></div></td> </table> <?php echo '<a href="finalizar.php"><button class="button2" type="submit">Finalizar pedido</button></a>'; endif; ?> >
- 2 respostas
-
- programaçãoweb
- php
- (e mais 2 )
-
Desculpa pedir ajuda dnv, mas preciso muito alterar a quantidade do produto quando eu estiver no carrinho, não consigo implementar algo assim de nenhuma forma, se alguem souber por favor me ajude com a implementação no codigo abaixo: < <?php session_start(); if (!isset( $_SESSION['itens'] ) ) : $_SESSION['itens'] = array(); endif; if ( isset( $_GET['add'] ) && $_GET['add'] == "carrinho" ) : $idProduto = $_GET['id']; if (!isset ($_SESSION['itens'][$idProduto])): $_SESSION['itens'][$idProduto] = 1; else: $_SESSION['itens'][$idProduto] +=1; endif; endif; if ( count( $_SESSION['itens'] ) == 0 ) : echo ' <h1>Carrinho vazio</h1>'; else: $_SESSION['dados'] =array(); $conexao = new PDO ('mysql:host=localhost;dbname=meusprodutos',"root", ""); ?> <table > <thead> <th>Nome</th> <th>Preço</th> <th>Quantidade</th> <th>Subtotal</th> <th>Opções</th> </thead> <tbody> <?php $totalcarrinho = 0; foreach ( $_SESSION['itens'] as $idProduto => $quantidade ) : $select = $conexao->prepare("SELECT * FROM produtos WHERE id=?"); $select ->bindParam(1, $idProduto); $select ->execute(); $produtos = $select->fetchAll(); $total = $quantidade * $produtos[0]["preco"]; if(count( $_SESSION['itens'] ) == 0 ) : $totalcarrinho = 0; else: $tempcarrinho = $totalcarrinho; $totalcarrinho = $tempcarrinho + $total; endif; ?> <tr> <td><div align="center" style="font-size:20px; font-family: verdana"> <font color="black"><?=$produtos[0]["nome"]?></font> </div></td> <td><?=number_format( $produtos[0]["preco"], 2, ", ", "." )?></td> <td><div align="center"> <?=$quantidade?> </div></td> <td><?=number_format( $total, 2, ",", "." )?></td> <td><a href="remover.php?remover=carrinho&id=<?=$idProduto?>">Remover</a></td> </tr> <?php array_push($_SESSION['dados'], array ('id_produto' => $produtos[0]["nome"], 'quantidade' => $quantidade, 'preco' => $produtos[0]["preco"], 'total' => $total ) ); endforeach; ?> </tbody> </table> <table> <td><div align='center' style='font-size:25px;font-family:Verdana'>Total <?=number_format( $totalcarrinho, 2, ",", "." )?></div></td> </table> <?php echo '<a href="finalizar.php">Finalizar pedido</a>'; endif; ?> >