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 decir"); // 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) { const femenino = document.querySelector("#card-femenino h2"); const masculino = document.querySelector("#card-masculino h2"); const prefiero = document.querySelector("#card-prefiero h2"); if (femenino) femenino.textContent = (promF * 100).toFixed(2) + "%"; if (masculino) masculino.textContent = (promM * 100).toFixed(2) + "%"; if (prefiero) prefiero.textContent = (promND * 100).toFixed(2) + "%"; } // Ejecutar cuando el DOM esté listo document.addEventListener("DOMContentLoaded", obtenerPromedioPorGenero);