266 lines
6.8 KiB
PHP
266 lines
6.8 KiB
PHP
<?php
|
|
require_once '../config/Database.php';
|
|
|
|
|
|
class GraficoModel{
|
|
private $db;
|
|
|
|
public function __construct() {
|
|
$db = DataBase::getInstance();
|
|
}
|
|
|
|
|
|
public static function obtenerGeneroFemenino() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS Femenino FROM candidato WHERE id_genero = 2 ");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['Femenino'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerGeneroMasculino() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS Maculino FROM candidato WHERE id_genero = 1 ");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['Maculino'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerGeneroNoDefinido() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS NoDefinido FROM candidato WHERE id_genero = 3 ");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['NoDefinido'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerEdadMenor18() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS menorEdad FROM candidato WHERE id_rango_edad = 1");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['menorEdad'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerEdad1824() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS edad1824 FROM candidato WHERE id_rango_edad = 2");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['edad1824'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerEdad2434() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS edad2434 FROM candidato WHERE id_rango_edad = 3");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['edad2434'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerEdad3544() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS edad3544 FROM candidato WHERE id_rango_edad = 4");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['edad3544'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
|
|
public static function obtenerEdad4554() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS edad4554 FROM candidato WHERE id_rango_edad = 5");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['edad4554'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
|
|
public static function obtenerEdad5564() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS edad5564 FROM candidato WHERE id_rango_edad = 6");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['edad5564'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerEdad65oMas() {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS edad65oMas FROM candidato WHERE id_rango_edad = 7");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
$output = "0";
|
|
|
|
if($resultado->num_rows > 0) {
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$output= $data['edad65oMas'];
|
|
}
|
|
}
|
|
$query->close();
|
|
self::$db->close();
|
|
|
|
return $output;
|
|
}
|
|
|
|
public static function obtenerEstados() {
|
|
try {
|
|
$query = self::$db->prepare("SELECT estados.nombre AS estado, COUNT(*) AS cantidad
|
|
FROM estados
|
|
INNER JOIN info_candidatos ON info_candidatos.id_estado = estados.id
|
|
GROUP BY estados.nombre
|
|
ORDER BY estados.nombre
|
|
");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
|
|
$estados = [];
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$estados[] = $data;
|
|
}
|
|
|
|
$query->close();
|
|
|
|
error_log(json_encode($estados));
|
|
return $estados;
|
|
} catch (Exception $e) {
|
|
error_log("Error al obtener los estados: " . $e->getMessage());
|
|
return [];
|
|
}
|
|
}
|
|
|
|
public static function obtenerExamenes() {
|
|
try {
|
|
$query = self::$db->prepare("SELECT nombre_examen AS examen , COUNT(*) AS cantidad
|
|
FROM examen
|
|
INNER JOIN candidato ON candidato.id_examen = examen.id_examen
|
|
GROUP BY nombre_examen
|
|
ORDER BY nombre_examen;
|
|
");
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
|
|
$examenes = [];
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$examenes[] = $data;
|
|
}
|
|
|
|
$query->close();
|
|
|
|
error_log(json_encode($examenes));
|
|
return $examenes;
|
|
} catch (Exception $e) {
|
|
error_log("Error al obtener los examenes: " . $e->getMessage());
|
|
return [];
|
|
}
|
|
}
|
|
|
|
|
|
public static function obtenerFecha($fechaInicio, $fechaFin) {
|
|
try {
|
|
$query = self::$db->prepare("SELECT COUNT(*) AS total
|
|
FROM candidato
|
|
WHERE DATE(fecha_entrada) = ?
|
|
AND DATE(fecha_salida) = ?;
|
|
");
|
|
$query->bind_param("ss", $fechaInicio, $fechaFin);
|
|
$query->execute();
|
|
$resultado = $query->get_result();
|
|
|
|
$fechas = [];
|
|
while ($data = $resultado->fetch_assoc()) {
|
|
$fechas[] = $data;
|
|
}
|
|
|
|
error_log("Resultados de la consulta: " . json_encode($fechas)); // <-- Agrega este log
|
|
|
|
$query->close();
|
|
return $fechas;
|
|
} catch (Exception $e) {
|
|
error_log("Error al obtener las fechas: " . $e->getMessage());
|
|
return [];
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
?>
|