Ajuda com meu carrinho de compras PHP

15/06/2019

8

PHP

Preciso de ajuda para alterar o metodo de alterar a quantidade do produto no meu carrinho, meus conhecimentos sobre programação web são bem basicos, preciso finalizar esse projeto para entregar na faculdade, eu implementei um metodo simples de alterar a quantidade, mas acontece um reload cada vez que eu adiciono ou removo mais '1' da quantidade, gostaria que alguem implementasse um metodo em que isso não aconteça no meu codigo, abaixo esta o codigo 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><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Produto </font></th>
        <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Preço </font></th>
        <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Quantidade </font></th>
        <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Subtotal</font></th>
        <th><div align="center" style="font-size:14px; font-family: arial"> <font color="black">Opções</font></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="white"><?=$produtos[0]["nome"]?></font> </div></td>
        <td><div align="center" style="font-size:15px; font-family: verdana"> <font color="white"><?=number_format( $produtos[0]["preco"], 2, ", ", "." )?></font></div></td>
        <td><div align="center"style="font-size:15px; font-family: verdana"> <font color="white" ><a href="remover.php?remover=carrinho&id=<?=$idProduto?>">◄</a> <?=$quantidade?><a href="carrinho.php?add=carrinho&id=<?=$idProduto?>">►</a></font> </div></td>
        <td><div align="center" style="font-size:15px; font-family: verdana"> <font color="white"><?=number_format( $total, 2, ",", "." )?></font></div></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 class="td1"><div align='center' style='font-size:25px;font-family:Verdana'><font color="white">Total <?=number_format( $totalcarrinho, 2, ",", "." )?></font></div></td> 
    </table>
<?php
echo '<a href="finalizar.php"><button class="button2" type="submit">Finalizar pedido</button></a>'; 
    
    endif;
    
?>
Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira