Carrinho de Compras com PHP
Nessa vídeo aula iremos aprender como criar um carrinho de Compras
usando Session, adicionando, removendo produtos, e alterando a
quantidade.
Código da Vídeo Aula
Tabela Produtos
Código da Vídeo Aula
Tabela Produtos
Tabela: produtos id INT AUTO_INCREMENT PRIMARY KEY nome VARCHAR(255) preco DECIMAL (10,2) imagem VARCHAR(50)conexao.php
<?php mysql_connect("localhost", "root", ""); mysql_select_db("mxmasters"); ?>index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Video Aula sobre Carrinho de Compras</title> </head> <body> <?php require("conexao.php"); $sql = "SELECT * FROM produtos"; $qr = mysql_query($sql) or die(mysql_error()); while($ln = mysql_fetch_assoc($qr)){ echo '<h2>'.$ln['nome'].'</h2> <br />'; echo 'Preço : R$ '.number_format($ln['preco'], 2, ',', '.').'<br />'; echo '<img src="image/'.$ln['imagem'].'" /> <br />'; echo '<a href="carrinho.php?acao=add&id='.$ln['id'].'">Comprar</a>'; echo '<br /><hr />'; } ?> </body> </html>carrinho.php
<?php session_start(); if(!isset($_SESSION['carrinho'])){ $_SESSION['carrinho'] = array(); } //adiciona produto if(isset($_GET['acao'])){ //ADICIONAR CARRINHO if($_GET['acao'] == 'add'){ $id = intval($_GET['id']); if(!isset($_SESSION['carrinho'][$id])){ $_SESSION['carrinho'][$id] = 1; }else{ $_SESSION['carrinho'][$id] += 1; } } //REMOVER CARRINHO if($_GET['acao'] == 'del'){ $id = intval($_GET['id']); if(isset($_SESSION['carrinho'][$id])){ unset($_SESSION['carrinho'][$id]); } } //ALTERAR QUANTIDADE if($_GET['acao'] == 'up'){ if(is_array($_POST['prod'])){ foreach($_POST['prod'] as $id => $qtd){ $id = intval($id); $qtd = intval($qtd); if(!empty($qtd) || $qtd <> 0){ $_SESSION['carrinho'][$id] = $qtd; }else{ unset($_SESSION['carrinho'][$id]); } } } } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Video Aula sobre Carrinho de Compras</title> </head> <body> <table> <caption>Carrinho de Compras</caption> <thead> <tr> <th width="244">Produto</th> <th width="79">Quantidade</th> <th width="89">Preço</th> <th width="100">SubTotal</th> <th width="64">Remover</th> </tr> </thead> <form action="?acao=up" method="post"> <tfoot> <tr> <td colspan="5"><input type="submit" value="Atualizar Carrinho" /></td> <tr> <td colspan="5"><a href="index.php">Continuar Comprando</a></td> </tfoot> <tbody> <?php if(count($_SESSION['carrinho']) == 0){ echo '<tr><td colspan="5">Não há produto no carrinho</td></tr>'; }else{ require("conexao.php"); $total = 0; foreach($_SESSION['carrinho'] as $id => $qtd){ $sql = "SELECT * FROM produtos WHERE id= '$id'"; $qr = mysql_query($sql) or die(mysql_error()); $ln = mysql_fetch_assoc($qr); $nome = $ln['nome']; $preco = number_format($ln['preco'], 2, ',', '.'); $sub = number_format($ln['preco'] * $qtd, 2, ',', '.'); $total += $ln['preco'] * $qtd; echo '<tr> <td>'.$nome.'</td> <td><input type="text" size="3" name="prod['.$id.']" value="'.$qtd.'" /></td> <td>R$ '.$preco.'</td> <td>R$ '.$sub.'</td> <td><a href="?acao=del&id='.$id.'">Remove</a></td> </tr>'; } $total = number_format($total, 2, ',', '.'); echo '<tr> <td colspan="4">Total</td> <td>R$ '.$total.'</td> </tr>'; } ?> </tbody> </form> </table> </body> </html>
2 comentários
Clique aqui para comentáriosNo meu ele não esta adicionando no carrinho, ao invés disso ele esta substituindo pelo segundo produto, pode me dar uma ajuda?
Balasno meu não adicionou o produto no carrinho, ao invés disso ele substituiu por outro ao clicar, tem como me ajudar?
BalasFora de tópico Mostrar Código Esconder Código Mostrar EmoticonEsconder Emoticon