<!DOCTYPE html>
<html lang="es">

<head>
    <meta charset="UTF-8">
    <title>Consulta de Registros</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <style>
        @media print {
            .no-print {
                display: none;
            }
        }

        thead th {
            background-color: #e9ecef;
            text-align: center;
        }
    </style>
</head>

<body>
    <?php include 'menuconsultas.php'; ?>

    <div class="container mt-4">
        <h2 class="mb-4">Registro de Faltas por Grado, Carrera y Sección</h2>

        <form method="POST" class="row g-3 mb-4">
            <div class="col-md-4">
                <label for="grado" class="form-label">Grado</label>
                <select name="grado" class="form-select" required>
                    <option selected disabled>---Seleccione grado---</option>
                    <?php
                    include("../config/conexion.php");
                    $sqlGrados = "SELECT nombre FROM grado";
                    $res = $conexion->query($sqlGrados);
                    while ($r = $res->fetch_assoc()) {
                        echo "<option value='" . htmlspecialchars($r['nombre']) . "'>" . htmlspecialchars($r['nombre']) . "</option>";
                    }
                    ?>
                </select>
            </div>

            <div class="col-md-4">
                <label for="carrera" class="form-label">Carrera</label>
                <select name="carrera" class="form-select" required>
                    <option selected disabled>---Seleccione carrera---</option>
                    <?php
                    $sqlCarreras = "SELECT nombre FROM carrera";
                    $res = $conexion->query($sqlCarreras);
                    while ($r = $res->fetch_assoc()) {
                        echo "<option value='" . htmlspecialchars($r['nombre']) . "'>" . htmlspecialchars($r['nombre']) . "</option>";
                    }
                    ?>
                </select>
            </div>

            <div class="col-md-4">
                <label for="seccion" class="form-label">Sección</label>
                <select name="seccion" class="form-select" required>
                    <option selected disabled>---Seleccione sección---</option>
                    <?php
                    $sqlSecciones = "SELECT DISTINCT seccion FROM registro_falta";
                    $res = $conexion->query($sqlSecciones);
                    while ($r = $res->fetch_assoc()) {
                        echo "<option value='" . htmlspecialchars($r['seccion']) . "'>" . htmlspecialchars($r['seccion']) . "</option>";
                    }
                    ?>
                </select>
            </div>

            <div class="col-md-6">
                <label for="fecha_inicio" class="form-label">Fecha de Inicio</label>
                <input type="date" name="fecha_inicio" class="form-control" required>
            </div>
            <div class="col-md-6">
                <label for="fecha_fin" class="form-label">Fecha de Fin</label>
                <input type="date" name="fecha_fin" class="form-control" required>
            </div>

            <div class="col-md-12">
                <button type="submit" class="btn btn-primary">Consultar</button>
            </div>
        </form>

        <?php
        if (
            $_SERVER["REQUEST_METHOD"] == "POST" &&
            isset($_POST['grado'], $_POST['carrera'], $_POST['seccion'], $_POST['fecha_inicio'], $_POST['fecha_fin'])
        ) {

            $grado    = $_POST['grado'];
            $carrera  = $_POST['carrera'];
            $seccion  = $_POST['seccion'];
            $inicio   = $_POST['fecha_inicio'];
            $fin      = $_POST['fecha_fin'];

            $sql = "SELECT rf.idregistro, rf.carnet, rf.nombre, rf.apellidos, rf.carrera, rf.grado, rf.seccion,
                       rf.falta, rf.bimestre, rf.fecha, rf.observaciones, u.nombre AS usuario
                FROM registro_falta rf
                INNER JOIN usuarios u ON rf.idusuario = u.id
                WHERE rf.grado = ? AND rf.carrera = ? AND rf.seccion = ? AND rf.fecha BETWEEN ? AND ?";

            $stmt = $conexion->prepare($sql);
            $stmt->bind_param("sssss", $grado, $carrera, $seccion, $inicio, $fin);
            $stmt->execute();
            $res = $stmt->get_result();

            if ($res->num_rows > 0) {
                echo "<div class='alert alert-info'>Mostrando resultados para $grado, $carrera, $seccion entre $inicio y $fin</div>";

                echo '<form method="POST" action="exportar_excel_grado.php" class="no-print mb-3">
                <input type="hidden" name="grado" value="' . htmlspecialchars($grado) . '">
                <input type="hidden" name="carrera" value="' . htmlspecialchars($carrera) . '">
                <input type="hidden" name="seccion" value="' . htmlspecialchars($seccion) . '">
                <input type="hidden" name="fecha_inicio" value="' . htmlspecialchars($inicio) . '">
                <input type="hidden" name="fecha_fin" value="' . htmlspecialchars($fin) . '">
                <button type="submit" class="btn btn-success">Exportar a Excel (.xlsx)</button>
            </form>';

                echo "<table class='table table-bordered'>";
                echo "<thead><tr>
                    <th>ID</th><th>Carnet</th><th>Nombre</th><th>Apellidos</th>
                    <th>Carrera</th><th>Grado</th><th>Sección</th><th>Falta</th>
                    <th>Bimestre</th><th>Fecha</th><th>Observaciones</th><th>Usuario</th>
                </tr></thead><tbody>";

                while ($row = $res->fetch_assoc()) {
                    echo "<tr>";
                    foreach ($row as $valor) {
                        echo "<td>" . htmlspecialchars($valor) . "</td>";
                    }
                    echo "</tr>";
                }
                echo "</tbody></table>";
                echo '<button class="btn btn-secondary no-print" onclick="window.print()">Imprimir</button>';
            } else {
                echo "<div class='alert alert-warning'>No se encontraron registros.</div>";
            }

            $stmt->close();
        }
        ?>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
</body>

</html>