BossBey File Manager
PHP:
8.4.18
OS:
Linux
User:
kids
Root
/
home
/
kids
/
public_html
/
app
📤 Upload
📝 New File
📁 New Folder
Close
Editing: edita_relatorio.php
<?php session_start(); require_once "connection.php"; if (!isset($_SESSION["nivelAcesso"])) { header("Location: login.php"); exit(); } $id_relatorio = $_GET['id']; // O ID do relatório a ser editado if (!$id_relatorio) { die('ID do relatório não fornecido.'); } try { // Verifique se a conexão com o banco de dados está funcionando corretamente if ($pdo) { // Consulta para buscar os dados do relatório $sql_relatorio = "SELECT * FROM relatorio WHERE id = :id_relatorio"; $stmt_relatorio = $pdo->prepare($sql_relatorio); $stmt_relatorio->execute([':id_relatorio' => $id_relatorio]); $relatorio = $stmt_relatorio->fetch(PDO::FETCH_ASSOC); if (!$relatorio) { die('Relatório não encontrado.'); } // Consulta para buscar os parâmetros $sqlp = "SELECT *, id as id_parametro FROM parametros"; $stmt1 = $pdo->prepare($sqlp); $stmt1->execute(); $parametros = $stmt1->fetchAll(PDO::FETCH_ASSOC); $valoresJavaScript = array(); $p = count($parametros); for ($i = 0; $i < $p; $i++) { $valoresJavaScript[$i] = array( 'I' => $parametros[$i]['I'], 'R' => $parametros[$i]['R'], 'B' => $parametros[$i]['B'], 'MB' => $parametros[$i]['MB'] ); } } else { die('Falha na conexão com o banco de dados.'); } } catch (Exception $e) { die('Erro: ' . $e->getMessage()); } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <title>Editar Relatório</title> <style> body { margin: 0; padding: 0; font-family: Arial, sans-serif; } .container { padding: 20px; } .card { padding: 20px; border: none; box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1); border-radius: 10px; text-align: center; } .custom-range-container { position: relative; } .custom-range { width: 100%; height: 30px; background: linear-gradient(to right, red, yellow, green); border-radius: 15px; position: relative; } .custom-range::-webkit-slider-thumb { appearance: none; width: 20px; height: 20px; border-radius: 50%; background: white; cursor: pointer; transform: translateY(-50%); } .custom-range::-moz-range-thumb { width: 20px; height: 20px; border-radius: 50%; background: white; cursor: pointer; transform: translateY(-50%); } .custom-range::-webkit-slider-runnable-track { width: 100%; height: 100%; border: 0; background: none; } .custom-range::-moz-range-track { width: 100%; height: 100%; border: 0; background: none; } .custom-range::-moz-range-progress { background: transparent; } .custom-range::-moz-range-progress:not([value="0"]) { background: linear-gradient(to right, red, yellow, green); border-radius: 15px; } .custom-range::-moz-range-progress[value="0"] { background: transparent; } .custom-range-markers { display: flex; width: 100%; justify-content: space-between; align-items: flex-end; margin-top: 10px; font-size: 12px; position: absolute; bottom: -30px; } .marker { transform: translateX(-50%); } .range-label { margin-top: 30px; } .range-label span { font-weight: bold; } </style> </head> <body> <?php include_once "menu/nav.php"; ?> <div class="container"> <form method="POST" action="update_relatorio.php"> <input type="hidden" name="id_relatorio" value="<?php echo $id_relatorio; ?>"> <div class="form-group"> <h3>Selecione o aluno:</h3> <select name="id_acessoFicha" class="form-control"> <?php // Consulta SQL para buscar os dados dos alunos, professores e responsáveis $sql = ($_SESSION['nivelAcesso'] == 'admin') ? "SELECT aluno.nome AS aluno, acessoFicha.id_acesso_aluno FROM acessoFicha INNER JOIN aluno ON acessoFicha.id_aluno = aluno.id" : "SELECT aluno.nome AS aluno, acessoFicha.id_acesso_aluno FROM acessoFicha INNER JOIN aluno ON acessoFicha.id_aluno = aluno.id WHERE acessoFicha.id_professor = :id_professor"; $stmt = $pdo->prepare($sql); if ($_SESSION['nivelAcesso'] == 'prof') { $stmt->bindValue(':id_professor', $_SESSION['id']); } $stmt->execute(); while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { $aluno = $row['aluno']; $id_acessoFicha = $row['id_acesso_aluno']; $selected = ($relatorio['id_acessoFicha'] == $id_acessoFicha) ? 'selected' : ''; echo "<option value='$id_acessoFicha' $selected>$aluno</option>"; } ?> </select> </div> <div class="form-group"> <h3>Selecione o mês:</h3> <select id="mes" name="mes" class="form-control"> <?php $meses = ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"]; foreach ($meses as $mes) { $selected = ($relatorio['mes'] == $mes) ? 'selected' : ''; echo "<option value='$mes' $selected>$mes</option>"; } ?> </select> </div> <div class="form-group"> <h3>Selecione o ano:</h3> <select id="ano" name="ano" class="form-control"> <?php for ($ano = 2023; $ano <= 2030; $ano++) { $selected = ($relatorio['ano'] == $ano) ? 'selected' : ''; echo "<option value='$ano' $selected>$ano</option>"; } ?> </select> </div> <!-- Objetivo Geral --> <h3>Objetivo Geral:</h3> <textarea class="form-control" name="obj" rows="4" required><?php echo $relatorio['obj']; ?></textarea> <!-- Observações Importantes --> <h3>Observações Importantes:</h3> <textarea class="form-control" name="obs" rows="4" required><?php echo $relatorio['obs']; ?></textarea> <div class="container"> <div class="row"> <?php $sql2 = "SELECT parametros.id, parametros.habilidade, parametros.area, parametros.numero, parametros.pergunta FROM parametros"; $result2 = $pdo->query($sql2); $currentArea = ""; // Para controlar a área atual while ($row2 = $result2->fetch(PDO::FETCH_ASSOC)) { $area = $row2['area']; $pergunta = $row2['pergunta']; $id_parametro = $row2['id']; $valor_selecionado = isset($relatorio["q$id_parametro"]) ? $relatorio["q$id_parametro"] : 5; // Verifica se a área mudou if ($currentArea != $area) { echo '</div>'; // Fecha o grupo anterior echo '<br/><h3 class="text-center">' . $area . '</h3>'; // Título da nova área echo '<div class="row">'; $currentArea = $area; } ?> <div class="col-md-4"> <div class="card"> <p><?php echo $row2['numero'] . ' - ' . $pergunta; ?></p> <div class="custom-range-container"> <input type="range" name="q<?php echo $id_parametro; ?>" class="custom-range" min="0" max="10" step="1" value="<?php echo $valor_selecionado; ?>"> <div class="custom-range-markers"> <span class="marker">0</span> <span class="marker">1</span> <span class="marker">2</span> <span class="marker">3</span> <span class="marker">4</span> <span class="marker">5</span> <span class="marker">6</span> <span class="marker">7</span> <span class="marker">8</span> <span class="marker">9</span> <span class="marker">10</span> </div> </div> <div class="range-label"> <span class="range-value"> <?php if ($valor_selecionado == 0) { echo $valor_selecionado . " - Não se aplica" . "<p>Não se Aplica</p>"; } else if ($valor_selecionado >= 0 && $valor_selecionado <= 3) { echo $valor_selecionado . " - Insuficiente" . "<p>" . $valoresJavaScript[$id_parametro - 1]['I'] . "</p>"; } else if ($valor_selecionado >= 4 && $valor_selecionado <= 6) { echo $valor_selecionado . " - Regular" . "<p>" . $valoresJavaScript[$id_parametro - 1]['R'] . "</p>"; } else if ($valor_selecionado >= 7 && $valor_selecionado <= 8) { echo $valor_selecionado . " - Bom" . "<p>" . $valoresJavaScript[$id_parametro - 1]['B'] . "</p>"; } else if ($valor_selecionado >= 9 && $valor_selecionado <= 10) { echo $valor_selecionado . " - Muito Bom" . "<p>" . $valoresJavaScript[$id_parametro - 1]['MB'] . "</p>"; } ?> </span> </div> </div> </div> <?php } ?> </div> </div> <div class="container"> <!-- Botões de Aprovar e Editar --> <button type="submit" class="btn btn-primary">Salvar Alterações</button> </div> </form> </div> <!-- Scripts do Bootstrap --> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> <script> const ranges = document.querySelectorAll(".custom-range"); const rangeValues = document.querySelectorAll(".range-value"); const valoresJavaScript = <?php echo json_encode($valoresJavaScript); ?>; ranges.forEach((range, index) => { const valor_selecionado = parseInt(range.value); const i = index; // Índice para corresponder aos valores apropriados if (valor_selecionado == 0) { rangeValues[i].innerHTML = valor_selecionado + " - Não se aplica" + "<p>Não se Aplica</p>"; } else if (valor_selecionado >= 0 && valor_selecionado <= 3) { rangeValues[i].innerHTML = valor_selecionado + " - Insuficiente" + "<p>" + valoresJavaScript[i]['I'] + "</p>"; } else if (valor_selecionado >= 4 && valor_selecionado <= 6) { rangeValues[i].innerHTML = valor_selecionado + " - Regular" + "<p>" + valoresJavaScript[i]['R'] + "</p>"; } else if (valor_selecionado >= 7 && valor_selecionado <= 8) { rangeValues[i].innerHTML = valor_selecionado + " - Bom" + "<p>" + valoresJavaScript[i]['B'] + "</p>"; } else if (valor_selecionado >= 9 && valor_selecionado <= 10) { rangeValues[i].innerHTML = valor_selecionado + " - Muito Bom" + "<p>" + valoresJavaScript[i]['MB'] + "</p>"; } range.addEventListener("input", () => { const value = parseInt(range.value); const i = index; // Índice para corresponder aos valores apropriados if (value == 0) { rangeValues[i].innerHTML = value + " - Não se aplica" + "<p>Não se Aplica</p>"; } else if (value >= 0 && value <= 3) { rangeValues[i].innerHTML = value + " - Insuficiente" + "<p>" + valoresJavaScript[i]['I'] + "</p>"; } else if (value >= 4 && value <= 6) { rangeValues[i].innerHTML = value + " - Regular" + "<p>" + valoresJavaScript[i]['R'] + "</p>"; } else if (value >= 7 && value <= 8) { rangeValues[i].innerHTML = value + " - Bom" + "<p>" + valoresJavaScript[i]['B'] + "</p>"; } else if (value >= 9 && value <= 10) { rangeValues[i].innerHTML = value + " - Muito Bom" + "<p>" + valoresJavaScript[i]['MB'] + "</p>"; } }); }); </script> </body> </html>
Save
Cancel