-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconsultar.php
More file actions
82 lines (67 loc) · 2.48 KB
/
consultar.php
File metadata and controls
82 lines (67 loc) · 2.48 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
<?php
$servername = "localhost"; // ou o endereço do seu servidor
$username = "root"; // seu usuário do MySQL
$password = ""; // sua senha do MySQL
$dbname = "Apontamentos_Amonia"; // nome do banco de dados
// Criar conexão
$conn = new mysqli($servername, $username, $password, $dbname);
// Verificar conexão
if ($conn->connect_error) {
die("Conexão falhou: " . $conn->connect_error);
}
// Definir a codificação para utf8mb4
$conn->set_charset("utf8mb4");
// Obter a data, o horário e o valor do PD do POST
$data = $_POST['data'];
$horario = isset($_POST['horario']) ? $_POST['horario'] : null;
$pd = isset($_POST['pd']) ? $_POST['pd'] : null; // Novo parâmetro para PD
// Consultar dados com base na data e horário
$sql = "SELECT * FROM DecAmoniaVAR WHERE DATE(horario) = ?";
$params = [$data];
if ($horario) {
$sql .= " AND TIME(horario) = ?";
$params[] = $horario;
}
// Se o PD não for "all", adiciona a condição para verificar se a coluna do PD não é nula
if ($pd && $pd !== "all") {
$sql .= " AND $pd IS NOT NULL"; // Verifica se a coluna do PD não é nula
}
// Preparar a consulta
$stmt = $conn->prepare($sql);
// Verificar se a preparação da consulta foi bem-sucedida
if ($stmt === false) {
die("Erro na preparação da consulta: " . $conn->error);
}
// Bind dos parâmetros
if ($horario) {
$stmt->bind_param("ss", ...$params); // Se ambos, data e horário, estão presentes
} else {
$stmt->bind_param("s", $params[0]); // Apenas data
}
// Executar a consulta
$stmt->execute();
$result = $stmt->get_result();
// Verificar se há resultados
if ($result->num_rows > 0) {
// Exibir os dados
while ($row = $result->fetch_assoc()) {
echo "<p><strong>Horário:</strong> " . $row['horario'] . " - ";
// Exibir o valor do PD selecionado
if ($pd === "all") {
// Se "Ver Todos" foi selecionado, exibe todos os PDs
for ($i = 1; $i <= 57; $i++) {
$pd_key = 'pd' . $i; // Cria a chave pd1, pd2, ..., pd57
echo "<span class='pd-value'>" . $pd_key . ": " . $row[$pd_key] . "</span> ";
}
} else {
// Se um PD específico foi selecionado
echo "<span class='pd-value'>" . $pd . ": " . $row[$pd] . "</span>";
}
echo "</p>";
}
} else {
echo "Nenhum dado encontrado para a data selecionada" . ($horario ? " e horário selecionado." : "") . ($pd ? " e valor de PD selecionado." : "");
}
$stmt->close();
$conn->close();
?>