BossBey File Manager
PHP:
8.4.18
OS:
Linux
User:
kids
Root
/
home
/
kids
/
public_html
/
app
š¤ Upload
š New File
š New Folder
Close
Editing: imprimir.php
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Relatório de Aluno</title> <link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"> <script src="https://cdn.jsdelivr.net/npm/chart.js"></script> <style> @media print { .no-print { display: none; /* Oculta os elementos com a classe 'no-print' durante a impressĆ£o */ } /* Estilos de impressĆ£o */ @media print { .footer { position: fixed; bottom: 0; width: 100%; text-align: center; font-size: 10px; color: #666; } } @media print { .footer2 { bottom: 0; width: 100%; text-align: center; font-size: 10px; color: #666; } } /* Quebras de pĆ”gina para visualização na impressĆ£o */ .page-break { page-break-before: always; /* Insere uma quebra de pĆ”gina antes deste elemento */ } .no-page-break { page-break-inside: avoid; /* Evita a quebra de pĆ”gina dentro deste elemento */ } </style> <style> /* Remova as formataƧƵes de accordion e colapse */ .card { border: none; box-shadow: none; margin-bottom: 10px; } .card-header { background-color: transparent; } .collapse.show { display: block; } /* Defina margens para o tamanho da folha A4 */ @page { size: A4; margin: 15mm 10mm; } /* Reduzir espaƧamento entre parĆ”grafos */ p { margin: 0.5em 0; /* Reduzir a margem superior e inferior dos parĆ”grafos */ line-height: 1; /* Ajustar a altura da linha para reduzir o espaƧamento entre linhas */ } /* Estilos de impressĆ£o */ @media print { body { margin: 0; padding: 0; } .container { margin: 0; padding: 0; } /* RodapĆ© fixo em cada pĆ”gina */ .footer { position: fixed; bottom: 0; width: 100%; text-align: center; font-size: 12px; color: #666; } </style> </head> <body> <?php echo '<div class="container"><div class="container mt-4">'; require_once "connection.php"; // Include your database connection script if needed if (isset($_GET['id'])) { $relatorioId = $_GET['id']; $parametros = array(); // Create an empty array named $parametros try { $sqlp = "SELECT *, id as id_parametro FROM parametros"; $stmt1 = $pdo->prepare($sqlp); $stmt1->execute(); if ($stmt1->rowCount() > 0) { while ($row1 = $stmt1->fetch()) { // Add each row of the result to the $parametros array $parametros[] = $row1; } } } catch (PDOException $e) { echo "Error in connection: " . $e->getMessage(); } try { $sql = "SELECT relatorio.*, professor.nome as nome_professor, responsavel.nome as nome_responsavel, aluno.nome as nome_aluno FROM acessoFicha INNER JOIN aluno ON acessoFicha.id_aluno = aluno.id INNER JOIN professor ON acessoFicha.id_professor = professor.id INNER JOIN responsavel ON acessoFicha.id_responsavel = responsavel.id INNER JOIN relatorio ON relatorio.id_acessoFicha = acessoFicha.id_acesso_aluno WHERE relatorio.id = :relatorioId"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':relatorioId', $relatorioId, PDO::PARAM_INT); $stmt->execute(); $totalPaginas = 5; // Altere este valor para o nĆŗmero total de pĆ”ginas esperadas $paginaAtual = 1; // ComeƧa na primeira pĆ”gina while ($row = $stmt->fetch()) { echo '<h4 style="text-align:center;">Metodologia Prof. Dr. Kadu Monteiro - Special Sports Kids</h4>'; echo '<h4>Relatório de: ' . $row['nome_aluno'] . ' - ' . $row['mes'] . '/' . $row['ano'] . '</h4>'; echo '<h4>Objetivos Gerais:</h4> <p style="text-align: justify;">' . htmlspecialchars($row['obj']) . '</p>'; $habilidades = array( "Habilidades Sociais e Afetivas" => array(12, 21), "Habilidades de Comunicação" => array(8, 11), "Habilidades Cognitivas" => array(1, 7), "Habilidades Motoras" => array(33, 40), "Habilidades Gerais" => array(22, 32) ); $somaHabilidadesSociais = 0; $somaHabilidadesComunicacao = 0; $somaHabilidadesCognitivas = 0; $somaHabilidadesMotoras = 0; $somaHabilidadesGerais = 0; $index = 0; foreach ($habilidades as $habilidade => $range) { echo '<div class="card">'; echo '<div class="card-header" id="heading' . $index . '">'; echo '<h4>' . $habilidade . '</h4>'; echo '</div>'; echo '<div class="card-body">'; for ($i = $range[0] - 1; $i < $range[1]; $i++) { $nota = $row['q' . ($i + 1)]; echo '<div class="row">'; echo '<div class="col-md-8">'; echo '<p>' . $parametros[$i]['numero'] . ' - ' . $parametros[$i]['pergunta'] . '</p>'; if ($nota <= 3) { echo '<p>' . $parametros[$i]['I'] . '</p>'; } elseif ($nota >= 4 && $nota <= 6) { echo '<p>' . $parametros[$i]['R'] . '</p>'; } elseif ($nota >= 7 && $nota <= 8) { echo '<p>' . $parametros[$i]['B'] . '</p>'; } elseif ($nota >= 9 && $nota <= 10) { echo '<p>' . $parametros[$i]['MB'] . '</p>'; } echo '</div>'; echo '<div class="col-md-4">'; echo '<p>'; if ($nota <= 3) { echo 'NĆvel AlcanƧado: ' . $nota . ' - Insuficiente'; } elseif ($nota >= 4 && $nota <= 6) { echo 'NĆvel AlcanƧado: ' . $nota . ' - Regular'; } elseif ($nota >= 7 && $nota <= 8) { echo 'NĆvel AlcanƧado: ' . $nota . ' - Bom'; } elseif ($nota >= 9 && $nota <= 10) { echo 'NĆvel AlcanƧado: ' . $nota . ' - Muito Bom'; } echo '</p>'; echo '<div class="progress">'; if ($nota >= 1 && $nota <= 3) { $colorClass = 'bg-danger'; } elseif ($nota >= 4 && $nota <= 6) { $colorClass = 'bg-warning'; } elseif ($nota >= 7 && $nota <= 8) { $colorClass = 'bg-info'; } elseif ($nota >= 9 && $nota <= 10) { $colorClass = 'bg-success'; } else { $colorClass = ''; // If the note is outside the specified range } if ($habilidade == "Habilidades Sociais e Afetivas") { $somaHabilidadesSociais += $nota; } elseif ($habilidade == "Habilidades de Comunicação") { $somaHabilidadesComunicacao += $nota; } elseif ($habilidade == "Habilidades Cognitivas") { $somaHabilidadesCognitivas += $nota; } elseif ($habilidade == "Habilidades Motoras") { $somaHabilidadesMotoras += $nota; } elseif ($habilidade == "Habilidades Gerais") { $somaHabilidadesGerais += $nota; } echo '<div class="progress-bar ' . $colorClass . '" role="progressbar" style="width: ' . ($nota / 10 * 100) . '%;" aria-valuenow="' . $nota . '" aria-valuemin="1" aria-valuemax="10"></div>'; echo '</div>'; echo '</div>'; echo '</div>'; } echo '</div>'; // Close the card-body echo '</div>'; // Close the card // Inserir quebra de pĆ”gina exceto após "Habilidades de Comunicação" if ($habilidade !== "Habilidades de Comunicação") { // RodapĆ© com numeração da pĆ”gina echo '<div class="footer" style="text-align:center;position:relative;">'; echo 'PĆ”gina ' . $paginaAtual . '/' . $totalPaginas . ' - Special Sports Kids - Metodologia Prof. Dr. Kadu Monteiro'; echo '</div>'; echo '<div class="page-break"></div>'; $paginaAtual++; // Incrementa o contador de pĆ”gina após a quebra de pĆ”gina } $index++; } echo '<h4>ObservaƧƵes Gerais:</h4> <p style="text-align: justify;">' . htmlspecialchars($row['obs']) . '</h4>'; echo '<h4>O GrĆ”fico a seguir mostra a porcentagem atingida de cada Ćrea Avaliada, sendo 100% a pontuação mĆ”xima</h4>'; echo '<div style="width: 80%; margin: 0 auto;">'; echo '<canvas id="polarChart' . $row['id'] . '"></canvas>'; // Add a unique ID for each chart echo '</div>'; ?> <?php // Calculate percentages $ints = round(($somaHabilidadesSociais / 100) * 100); $intcom = round(($somaHabilidadesComunicacao / 40) * 100); $intcog = round(($somaHabilidadesCognitivas / 70) * 100); $intm = round(($somaHabilidadesMotoras / 80) * 100); $intg = round(($somaHabilidadesGerais / 110) * 100); ?> <script> var ctx = document.getElementById('polarChart<?php echo $row['id'];?>').getContext('2d'); var data = { labels: ["Habilidades Sociais e afetivas", "Habilidades de comunicação", "Habilidades cognitivas", "Habilidades motoras", "Habilidades Gerais"], datasets: [{ data: [<?php echo $ints.','.$intcom.','.$intcog.','.$intm.','.$intg; ?>], // Replace these values with your own scores (scale from 1 to 100) backgroundColor: [ 'rgba(75, 192, 192, 0.2)', // Fill color for Habilidades Sociais e afetivas 'rgba(255, 99, 132, 0.2)', // Fill color for Habilidades de comunicação 'rgba(54, 162, 235, 0.2)', // Fill color for Habilidades cognitivas 'rgba(255, 206, 86, 0.2)', // Fill color for Habilidades motoras 'rgba(153, 102, 255, 0.2)' // Fill color for Habilidades Gerais ], borderColor: [ 'rgba(75, 192, 192, 1)', // Border color for Habilidades Sociais e afetivas 'rgba(255, 99, 132, 1)', // Border color for Habilidades de comunicação 'rgba(54, 162, 235, 1)', // Border color for Habilidades cognitivas 'rgba(255, 206, 86, 1)', // Border color for Habilidades motoras 'rgba(153, 102, 255, 1)' // Border color for Habilidades Gerais ], borderWidth: 2, // Border width }] }; var options = { scale: { ticks: { beginAtZero: true, max: 100, callback: function(value) { return value + '%'; } } }, plugins: { datalabels: { color: 'black', font: { weight: 'bold' }, formatter: function(value, context) { return value + '%'; } } } }; var polarChart = new Chart(ctx, { type: 'polarArea', data: data, options: options }); </script> <?php // Gera a data atual por extenso setlocale(LC_TIME, 'pt_BR.utf8'); // Define o local para portuguĆŖs brasileiro $dataAtual = strftime('%d de %B de %Y'); // Exemplo: 21 de setembro de 2024 // Caminho da logomarca $caminhoLogo = 'images/assinatura.png'; // Substitua pelo caminho correto do arquivo PNG // Gera o conteĆŗdo HTML echo '<div style="text-align: right; margin-top: 20px;">'; echo '<p>Rio de Janeiro, ' . $dataAtual . '</p>'; // Exibe a data por extenso echo '</div>'; echo '<br>'; // Pula uma linha echo '<div style="text-align: center; margin-top: 20px;">'; echo '<img src="' . $caminhoLogo . '" alt="Logomarca" style="display: block; margin: 0 auto;">'; // Exibe a logomarca centralizada echo '<h4>Metodologia Prof. Dr. Kadu Monteiro</h4>'; echo '</div>'; echo '</div> <button class="no-print" onclick="window.print()">Imprimir PĆ”gina</button> </div>'; } } catch (PDOException $e) { echo "Error in connection: " . $e->getMessage(); } } else { echo 'ParĆ¢metros ausentes.'; } ?> </div> <!-- Adicione o rodapĆ© fora do loop para garantir que ele apareƧa na Ćŗltima pĆ”gina tambĆ©m --> <div class="footer2" style="text-align:center;"> PĆ”gina <?php echo $paginaAtual; ?>/<?php echo $totalPaginas; ?> - Special Sports Kids - Metodologia Prof. Dr. Kadu Monteiro </div> <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/2.4.0/jspdf.umd.min.js"></script> <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.5.3/dist/umd/popper.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script> </body> </html>
Save
Cancel