Manter tamanho da grade no carrinho de compras na $_SESSION
Boa tarde, estou tentando entender como faço para manter o valor do "Tamanho" na minha $_SESSION... no carrinho de compras... toda vez que insiro um produto o tamanho muda junto pelo valor do ultimo inserido... seguem os codigos, caso alguem saiba... Obrigado!
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']);
$tam = $_POST['tam'];
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]);
}
}
}
}
}
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Pedidos</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<title>Carrinho</title>
<style>
#interna{
text-align: center;
}
</style>
</head>
<body>
<div class="col-md-12">
<table class="table table-striped" border="1px" width=300 height=100 bgcolor="#d9d9d9">
<caption>Carrinho de Compras</caption>
<thead>
<tr>
<th>Produto</th>
<th>Quantidade</th>
<th>Preço</th>
<th>SubTotal</th>
<th>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){
$pdo= conecta();
$resultado = $pdo ->prepare("SELECT max(ID_LISTA)AS ID FROM listas_preco where cod_cliente = 1");
$resultado->execute();
$lista = $resultado->fetch(PDO::FETCH_ASSOC);
$result = $pdo ->prepare("SELECT PRODUTOS.CODIGO, PRODUTOS.DESCRICAO AS DESC, listas_itens.PRECO FROM listas_itens
inner join produtos on (listas_itens.cod_produto = produtos.codigo)
inner join grupos_produto on (produtos.cod_grupo = grupos_produto.codigo)
WHERE PRODUTOS.CODIGO=".$id." and (listas_itens.id_lista = '".$lista['ID']."')");
$result->execute();
$ln = $result->fetch(PDO::FETCH_ASSOC);
$nome = $ln['DESC'];
$preco = number_format($ln['PRECO'], 2, ',', '.');
$sub = number_format($ln['PRECO'] * $qtd, 2, ',', '.');
$total += $ln['PRECO'] * $qtd;
echo '<tr height=70>'
. '<td><p>'. $nome .'</p><br/> Tamanho: '. $tam .'</td></br>
<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>
</div>
</body>
</html>Discussão (2)
Carregando comentários...