LANIA_Proyecto/models/GraficoModel.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 [];
}
}
}
?>