Jump to content
Aureo Almeida

Determinar quantidade de produtos no carrinho de compra sem múltiplas seleções

Recommended Posts

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>
	';
		}
	}
	?>

 

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 mbolzanes
      Olá.
       
      Preciso alterar o nome do meu tema na tray de MINHA SACOLA para MEU CARRINHO
      Alguém que possa 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 mercadohidro
      Gente, como faço para trocar o modo de abrir do carrinho no meu site da Tray?
      Quando um cliente adiciona algo no Carrinho fica lá, daí quando ele vai checar o que colocou lá, o carrinho leva ele pra outra página.
      Quero saber como clicar no carrinho e continuar na página do meu site? Só quero que abra uma aba lateral do carrinho, e não que ele vá para outra página.
      Me ajudem, por favor.
    • By tiagoRodrigo25
      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>
       
       
       
       
       
       
       
       
       
       
       
       
       
       
×

Important Information

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