async function recuperarCantidadGenero(tipoConsulta) { try { const response = await fetch("../controllers/graficos.php", { method: "POST", headers: { "Content-Type": "application/json", }, body: JSON.stringify({ tipoConsulta }), }); const data = await response.json(); return data.cantidad || 0; } catch (error) { console.error("Error al recuperar datos:", error); return 0; } } async function obtenerPromedioPorGenero() { // Obtener conteos de cada género const femenino = await recuperarCantidadGenero("Femenino"); const masculino = await recuperarCantidadGenero("Masculino"); const noDefinido = await recuperarCantidadGenero("Prefiero no decirlo"); // Suma total de personas const total = femenino + masculino + noDefinido; // Evitar división por cero if (total === 0) { actualizarTarjetas(0, 0, 0); return; } // Calcular el promedio (cantidad / total de registros) // Aquí promedio es la proporción simple de cada género dentro del total const promedioFemenino = femenino / total; const promedioMasculino = masculino / total; const promedioNoDefinido = noDefinido / total; // Actualizar las tarjetas con los valores calculados actualizarTarjetas(promedioFemenino, promedioMasculino, promedioNoDefinido); } // Función para actualizar las tarjetas en el DOM function actualizarTarjetas(promF, promM, promND) { // Multiplicamos por 100 para mostrar el promedio como número decimal simple. // Aquí simplemente mostramos el promedio como número decimal con 2 decimales document.querySelector("#card-femenino h2").textContent = promF.toFixed(2)+ "%";; document.querySelector("#card-masculino h2").textContent = promM.toFixed(2) + "%";; document.querySelector("#card-nodefinido h2").textContent = promND.toFixed(2) + "%";; } // Ejecutar cuando el DOM esté listo document.addEventListener("DOMContentLoaded", obtenerPromedioPorGenero);