Ir para conteúdo

Arquivado

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

tiagoRodrigo25

Carrinho de compra - atualização da quantidade de produto

Recommended Posts

Olá, estou criando um mini projeto que consiste em um sistema de pedido para auto-atendimento para lanchonetes e restaurante, mas estou com dificuldades  em inserir a quantidade  para fazer o calculo e gerar o total da compra, alguém poderia me ajudar uma forma de  gerar isto, não consegui e  estou sem ideia, até em sites gringos já fui, mas não encontrei nada alguém me dá uma luz por favor.

 

 

 

 

Banco:

CREATE TABLE IF NOT EXISTS `produto` (
  `id` int(11) NOT NULL,
  `descricao` varchar(50) NOT NULL,
  `preco` double(10,2) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=latin1;
 

CREATE TABLE IF NOT EXISTS `itensvenda` (
  `id` int(11) NOT NULL,
  `idVend` int(11) NOT NULL,
  `idProd` int(11) NOT NULL,
  `qtd` varchar(10) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
 

CREATE TABLE IF NOT EXISTS `venda` (
  `id` int(11) NOT NULL,
  `valor` double(10,2) NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;

 

 

 

conexão:

<?php

$conect = mysqli_connect("localhost","root","root","teste");

?>

 

 

index:

<?php
session_start()?>

 

<?php
if (isset($_SESSION['venda'])){
}else{
      $_SESSION['venda'] = array();
}


   

if(isset($_GET['del'])){
    $del = $_GET['del'];
    unset($_SESSION['venda'][$del]);
    }
    
?>     

<html>
<title> Produto</title>
<body>

<?php
include_once("config.php");
?>

<h1>produtos</h1>

<ul>
<?php
$sql= mysqli_query($conect,"select * from produto");
while($res = mysqli_fetch_array($sql)){
?>
<li>
             <span><?php echo $res['descricao']?></span>
             <strong><a href="index.php?par=<?php echo $res['id']?>"><?php echo number_format ($res['preco'],2,".",".");?></a></strong>
</li>
<?php
}
?>
</ul>
<table width="700" border="1">
                             <tr>
                             <td>produto:</td>
                             <td>valor:</td>
                             <td>quantidade:</td>
                             <td>açoes:</td>
                             </tr>
<form action="" enctype="multipart/form-data" method="post">
<?php

                            foreach($_SESSION['venda'] as $id => $quantidade):
 
                                       $sqlCarrinho = mysqli_query($conect,"select * from produto where id = '$id'");
                                       $resAssoc = mysqli_fetch_assoc($sqlCarrinho);


 echo '<tr>
      <td>'.$resAssoc['descricao'].'</td>
      <td>' .$resAssoc['preco'].'</td>
      <td>'<input type="text" name="qtd" value="1"/>'</td>
      <td><a href="index.php?del='.$resAssoc['id'].'">x</a></td>
  echo <tr>';
  
 $totalProduto += $resAssoc['preco'] * $quantidade;
  echo '<tr>';
  
 endforeach;
         echo '<tr>';
         echo '<td colspan="4" align="right">R$ '.number_format($totalProduto,2,".",".").'</td>';
         echo '</tr>';

 ?>
 <?php
 if(isset($_POST['enviar'])){
     $sqlInseriVenda= mysqli_query($conect,"insert into venda(valor)values('$totalProduto')");

     $idVenda = mysqli_insert_id($conect);

     foreach ($_SESSION['venda'] as $proInsert => $quantidade) :
         $sqlInserItens = mysqli_query($conect,"insert into itensvenda(idVend,idProd,qtd) values('$idVenda','$proInsert','$quantidade')");
     endforeach;
     echo "<script> alert('venda concluida com sucesso')</script>";
         # code...
     }
 
 ?>
  
  </table>
  
      <input align="right" type="submit" name="enviar" value="finalizar pedido">
  </form>
</body>
</html>

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por dutopfave
      Galera tenho um carrinho de compras que calcula o frete tudo certinho, faço isso utilizando ajax, dando sucesso ele me retorna na pagina os método PAC e SEDEX com a opção de seleciona qual eu quero, ai q ta o problema, preciso que quando clica um dos dois possa ser carregado a pagina ou carrega em ajax, só que não to conseguindo, segue imagem de como está

    • Por 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> '; } } ?>  
    • Por MateusOFCZ
      Olá, gostaria de saber como eu faço para mostrar uma imagem diferente ao acessar o site...
      Eu precisaria mostrar a imagem linkada, ou seja, quando clickar na imagem ela levará você para um link, porém cada imagem tem um link diferente, como faço isso?
      Caso você não tenha entendido seria uma espécie de "anúncios" em meu site, toda vez que reentrar nele irá mostrar uma imagem diferente, e essa imagem será linkada, e os links também serão diferentes um do outro.
    • Por ment0r
      Boa tarde amigos, tudo bem? Mais uma vez venho pedir o auxilio de vocês.
       
      Bom, estou desenvolvendo um sistema intranet pra uma empresa (php + firebird) e nele haverá uma página de cadastro de pedido; nela, o usuário digita a data da compra, a data de vencimento e vai listando os produtos - bem simples.
       
      Minha dúvida é a seguinte: como eu faço pra pra inserir vários produtos na mesma página e depois cadastrar tudo de uma vez? Peguei como exemplo uma tela do sistema de um amigo (não pode ser copiado, pois foi desenvolvido em Delphi).
       

       
      O usuário escolhe um produto e insere na lista, escolhe outro e insere na lista e assim por diante. No final ele cadastra todos. Minha dúvida não é nos procedimentos de cadastros (funções de banco e etc) é em como fazer a aparecer essa lista de produtos.
       
      Será que é com Jquey, Javascript... enfim... me deêm uma luz rsrs
       
      Muito obrigado desde já.
       
    • Por samruiz
      Ola pessoal, estou tendo um problema e não estou conseguindo resolver, estou querendo recuperar os dados de uma pagina de pedido e enviar via phpmailer. Segue o codigo:
      <h3>Confirmar Pedido</h3> <hr> <!-- botoes e opções de cima --> <section class="row"> <div class="col-md-12 " align="right"> <a href="{$PAG_CARRINHO}" class="btn btn-info" title="">Voltar para Carrinho</a> </div> <div class="col-md-4"> </div> <div class="col-md-4 text-right"> </div> </section> <br> <!-- table listagem de itens --> <section class="row "> <center> <table class="table table-bordered" style="width: 95%"> <!-- <tr> <td colspan="6" align="right"><a href="" class="btn btn-success" title="">Comprar Mais</a></td> </tr> --> <tr class="text-danger bg-danger"> <td></td> <td>Produto</td> <td>Valor R$</td> <td>X</td> <td>Sub Total R$</td> </tr> {foreach from=$PRO item=P} <tr> <td> <img src="{$P.pro_img}" alt="{$P.pro_nome}"> </td> <td> {$P.pro_nome} </td> <td> {$P.pro_valor} </td> <td> {$P.pro_qtd} </td> <td> {$P.pro_subTotal} </td> </tr> {/foreach} </table> </center> </section><!-- fim da listagem itens --> <!-- botoes de baixo e valor total --> <section class="row" id="total"> <div class="col-md-4 text-right"> </div> <div class="col-md-4 text-right text-danger bg-warning"> <h4> Total : R$ {$TOTAL} </h4> </div> <!-- botão de limpar--> <div class="col-md-12"> <form name="pedido_finalizar" id="pedido_finalizar" method='post'action="{$PAG_FINALIZAR}> <h4>Por favor inserir pagamento Cartão ou Dinheiro!</h4> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="cartao" name='pagamento' value='1'> <label class="custom-control-label" for="cartao">Cartão</label> </div> <div class="custom-control custom-checkbox"> <input type="checkbox" class="custom-control-input" id="dinheiro" name='pagamento' value='2'> <label class="custom-control-label" for="dinheiro">Dinheiro</label> </div> <h4>Caso seu pagamento seja dinheiro, vai precisar de troco? Se sim para quantos?</h4> <input type="text" name="troco" placeholder="Precisa de Troco?" class="btn-block text-danger" required> </form> </div>  <hr> <br> <div class="col-md-4 "> <form name="pedido_finalizar" id="pedido_finalizar" method="post" action="{$PAG_FINALIZAR}"> <button class="btn btn-success btn-block" type="submit"> <i class="glyphicon glyphicon-ok"></i> Finalizar Pedido </button> </form> </div> <!-- botão finalzar --> </section> <br> <hr> </form> </div> </section> <br> <br> <br> <br> Ja tentei varias formas mas so chega os dados do pedido, e não a forma de pagamaneto.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.