-
Notifications
You must be signed in to change notification settings - Fork 10
/
Copy pathcarrinho.php
158 lines (145 loc) · 7.22 KB
/
carrinho.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>SIS Completão</title>
<link rel="stylesheet" href="css/style.css">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet">
<link href="https://getbootstrap.com/docs/5.2/assets/css/docs.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js"></script>
</head>
<body>
<h1>Carrinho de Compras</h1>
<table>
<thead>
<tr>
<th>Produto</th>
<th>Quantidade</th>
<th>Preço Unitário</th>
<th>Desconto</th>
<th>Total</th>
<th>Ações</th>
</tr>
</thead>
<tbody>
<?php
session_start();
if(!isset($_GET['cupom'])){
$_SESSION['cupom']="";
$_SESSION['idcupom']="";
$_SESSION['statusCupom']="";
$_SESSION['valordesconto']="";
}
// Verificando se existe carrinho na sessão
if (isset($_SESSION['carrinho']) && !empty($_SESSION['carrinho'])) {
require_once "bd/conexao.php";
$totalCompra=0;
$totalDescontos=0;
$totalAPagar=0;
foreach ($_SESSION['carrinho'] as $produto_id => $quantidade) {
// Recuperando informações do produto do banco de dados
$sql = "SELECT * FROM tbprodutos WHERE id = $produto_id";
$resultado = $conn->query($sql);
$registro = $resultado->fetch(PDO::FETCH_ASSOC);
// Calculando o total para este produto
$total_produto = ($registro['preco']-$registro['desconto']) * $quantidade;
$totalCompra+=$total_produto;
// Exibindo os detalhes do produto no carrinho
echo "<tr>";
echo "<td>{$registro['id']} --->>> {$registro['descricao']}</td>";
echo "<td><input type='number' value='{$quantidade}' id='quantidade-$produto_id' size='3' onchange='atualizarQuantidade($produto_id)'></td>";
echo "<td id='preco-unitario-$produto_id'>R$ {$registro['preco']}</td>";
echo "<td>{$registro['desconto']}</td>";
echo "<td id='total-$produto_id'>R$ {$total_produto}</td>";
echo "<td>";
echo "<button onclick='atualizarQuantidade($produto_id)'>Atualizar</button>";
echo "<button onclick='excluirProduto($produto_id)'>Excluir</button>";
echo "</td>";
echo "</tr>";
}
echo "<tr><td colspan='5' style='text-align:right'>
<output id='totalCompra'>Total da compra:
<strong>R$ $totalCompra</strong></output>
</td></tr>";
echo "<tr><td colspan='5' style='text-align:right'>
<output id='totalDescontos'>Total de descontos:
<strong>R$ $totalDescontos</strong></output>
</td></tr>";
//cupom
?>
<tr><td colspan='5' style='text-align:right'>
<label>Digite o cupom</label><br>
<input type="text" id="cupom" name="cupom"><br>
<button type="button" onclick="validarcupom()">Validar Cupom</button><br>
<output id='valorDesconto'>Valor Desconto:
<strong>R$ </strong></output>
</td></tr>
<script>
function validarcupom(){
numeroCupom = document.getElementById("cupom").value
window.location.href = "validarcupom.php?cupom=" + numeroCupom
}
</script>
<?php
//retorno da validação
// $_SESSION['cupom']
// $_SESSION['idcupom']
echo $_SESSION['statusCupom'];
if($_SESSION['statusCupom']!=""){
if(isset($_SESSION['statusCupom']) && $_SESSION['statusCupom']=="ok"){
echo "<p>".$_SESSION['valordesconto']."</p>";
}else{
echo "entrou no else";
?>
<script>
window.alert("Não foi possível utilizar o cupom")
</script>
<?php
}
}
echo "<tr><td colspan='5' style='text-align:right'>
<output id='totalAPagar'>Total a pagar:
<strong>R$ $totalAPagar</strong></output>
</td></tr>";
} else {
echo "<tr><td colspan='5'>Não há itens no carrinho</td></tr>";
}
?>
</tbody>
<a href='salvarPedido.php'>Finalizar</a>
</table>
<script>
function atualizarQuantidade(produto_id) {
var novaQuantidade = parseInt(document.getElementById('quantidade-' + produto_id).value);
// Verificar se a nova quantidade é um número válido
if (!isNaN(novaQuantidade) && novaQuantidade > 0) {
// Calcular o novo valor total para o produto
var precoUnitario = parseFloat(document.getElementById('preco-unitario-' + produto_id).textContent.replace("R$ ", ""));
var novoTotalProduto = novaQuantidade * precoUnitario;
// Atualizar a exibição do valor total do produto
document.getElementById('total-' + produto_id).textContent = "R$ " + novoTotalProduto.toFixed(2);
// Recalcular o valor total da compra somando os novos totais de todos os produtos no carrinho
var valorTotalCompra = 0;
<?php
foreach ($_SESSION['carrinho'] as $produto_id => $quantidade) {
$sql = "SELECT * FROM tbprodutos WHERE id = $produto_id";
$resultado = $conn->query($sql);
$registro = $resultado->fetch(PDO::FETCH_ASSOC);
echo "valorTotalCompra += " . $quantidade . " * " . $registro['preco'] . ";";
}
?>
// Atualizar a exibição do valor total da compra
document.getElementById('totalCompra').textContent = "R$ " + valorTotalCompra.toFixed(2);
} else {
// Se a nova quantidade não for válida, exibir uma mensagem de erro
alert("Por favor, insira uma quantidade válida.");
}
}
function excluirProduto(produto_id) {
// Aqui você pode enviar o produto_id para remover o produto do carrinho
console.log("Excluir produto com ID: " + produto_id);
}
</script>
</body>
</html>