-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfamilia.php
More file actions
136 lines (115 loc) · 5.44 KB
/
familia.php
File metadata and controls
136 lines (115 loc) · 5.44 KB
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
<?php
session_start();
include('config.php'); // Inclui a configuração da base de dados e a função listarPerfumes
// Obtém a quantidade de itens no carrinho do usuário logado
// Autenticação e identificação do utilizador
$id_sessao = $_SESSION['id_sessao'] ?? null;
$tipo_utilizador = $id_sessao ? verificarTipoUsuario($id_sessao) : 'visitante';
$nome_utilizador = $_SESSION['username'] ?? $_SESSION['clientname'] ?? 'Conta';
// Carrinho só para cliente
$totalCarrinho = ($tipo_utilizador === 'cliente' && $id_sessao)
? contarItensCarrinho($id_sessao)
: 0;
$mostrar_carrinho = !in_array($tipo_utilizador, ['Admin', 'trabalhador']);
//funcao de busca
if (isset($_GET['ajax']) && $_GET['ajax'] === '1') {
$termo = isset($_GET['q']) ? htmlspecialchars($_GET['q']) : '';
$perfumes = listarPerfumes($termo);
// Gera os resultados como HTML
if (!empty($perfumes)): ?>
<?php foreach ($perfumes as $perfume): ?>
<a href="produto.php?id=<?php echo $perfume['id_perfume']; ?>" class="result-item">
<img src="<?php echo htmlspecialchars($perfume['caminho_imagem']); ?>"
alt="<?php echo htmlspecialchars($perfume['nome']); ?>">
<div class="info">
<h3><?php echo htmlspecialchars($perfume['nome']); ?></h3>
<p><?php echo htmlspecialchars($perfume['marca']); ?></p>
<p><?php echo number_format($perfume['preco'], 2, ',', ' ') . ' €'; ?></p>
</div>
</a>
<?php endforeach; ?>
<?php else: ?>
<p>Nenhum resultado encontrado.</p>
<?php endif;
exit; // Encerra a execução para evitar renderizar o restante do HTML
}
// Obtém o ID da família da query string
$id_familia = isset($_GET['id']) ? intval($_GET['id']) : 0;
// Verifica se o ID da família foi passado na URL e é válido
if ($id_familia > 0) {
// Chama a função para buscar os detalhes da família
$familia = buscarDetalhesFamilia($id_familia);
// Chama a função para buscar os perfumes associados à família
$resultPerfumes = buscarPerfumesPorFamilia($id_familia);
} else {
// Se não for um ID válido, redireciona para a página inicial
header("Location: index.php");
exit;
}
$familias = buscarFamiliasOlfativas(); // Chama a função para buscar as famílias olfativas
$marcas = buscarMarcasAgrupadas();
?>
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo htmlspecialchars($familia['nome_familia']); ?> - Famílias Olfativas</title>
<link rel="stylesheet" href="styles.css">
</head>
<body class="<?php echo strtolower($tipo_usuario); ?>">
<!-- Menu de Navegação -->
<?php include('menu.php'); ?>
<!-- Cabeçalho -->
<header class="familia-header">
<?php echo htmlspecialchars($familia['nome_familia']); ?>
</header>
<main>
<section class="lista-fragrancias">
<?php if (mysqli_num_rows($resultPerfumes) > 0): ?>
<?php while ($perfume = mysqli_fetch_assoc($resultPerfumes)): ?>
<div class="fragrancia-item"
caminho_imagem_hover="<?php echo htmlspecialchars($perfume['caminho_imagem_hover'] ?? ''); ?>">
<?php if ($perfume['stock'] == 0): ?>
<div class="esgotado-label">Esgotado</div>
<?php endif; ?>
<a href="produto.php?id=<?php echo $perfume['id_perfume']; ?>">
<div class="imagem-fragrancia">
<img src="<?php echo htmlspecialchars($perfume['caminho_imagem']); ?>"
alt="<?php echo htmlspecialchars($perfume['nome']); ?>">
</div>
<div class="informacoes-fragrancia">
<h2><?php echo htmlspecialchars($perfume['nome']); ?></h2>
<p class="marca"><?php echo htmlspecialchars($perfume['nome_marca'] ?? 'Marca Desconhecida'); ?>
</p>
<p class="preco">
<?php
echo isset($perfume['preco'])
? number_format($perfume['preco'], 2, ',', ' ') . ' €'
: 'Preço Indisponível';
?>
</p>
</div>
</a>
</div>
<?php endwhile; ?>
<?php else: ?>
<p>Nenhum perfume disponível nesta família olfativa.</p>
<?php endif; ?>
</section>
<script>
const items = document.querySelectorAll('.fragrancia-item');
items.forEach(item => {
const caminhoImagemOriginal = item.querySelector('img').src;
const caminhoImagemAlternativa = item.getAttribute('caminho_imagem_hover');
item.addEventListener('mouseover', () => {
item.querySelector('img').src = caminhoImagemAlternativa;
});
item.addEventListener('mouseout', () => {
item.querySelector('img').src = caminhoImagemOriginal;
});
});
</script>
</main>
</body>
</html>