<?php
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST["fecha_inicio"]) && isset($_POST["fecha_fin"])) {
    $fecha_inicio = $_POST["fecha_inicio"];
    $fecha_fin = $_POST["fecha_fin"];

    // Conexión a la base de datos
$conexion = mysqli_connect("localhost", "root", "BpjysVrFK6LJ5XyW", "micpu");
    if ($conexion->connect_error) {
        die("Error de conexión: " . $conexion->connect_error);
    }
    $conexion->set_charset("utf8");

    // Consulta para obtener los datos filtrados por fecha
    $sql = "SELECT * FROM mcorrect WHERE Fecha BETWEEN ? AND ?";
    $stmt = $conexion->prepare($sql);
    $stmt->bind_param("ss", $fecha_inicio, $fecha_fin);
    $stmt->execute();
    $resultado = $stmt->get_result();

    if ($resultado->num_rows > 0) {
        // Encabezados para forzar descarga como archivo CSV
        header("Content-Type: text/csv; charset=utf-8");
        header("Content-Disposition: attachment; filename=reportes_mcorrect.csv");
        header("Pragma: no-cache");
        header("Expires: 0");

        // Salida directa al navegador
        $salida = fopen("php://output", "w");

        // BOM para Excel (UTF-8)
        fprintf($salida, chr(0xEF).chr(0xBB).chr(0xBF));

        // Encabezados
        $campos = $resultado->fetch_fields();
        $nombres_columnas = array_map(fn($campo) => $campo->name, $campos);
        fputcsv($salida, $nombres_columnas);

        // Filas
        while ($fila = $resultado->fetch_assoc()) {
            foreach ($fila as $clave => &$valor) {
                if ($clave == "Fecha") {
                    $valor = date("d-m-Y", strtotime($valor));
                }
            }
            fputcsv($salida, $fila);
        }

        fclose($salida);
    } else {
        echo "No se encontraron registros en el rango de fechas seleccionado.";
    }

    $stmt->close();
    $conexion->close();
} else {
    echo "Parámetros de fecha no proporcionados.";
}
?>
