<?php require_once __DIR__ . '/../controllers/Database.php'; class Catalogos{ private $conn; public function __construct() { $this->conn = Database::getInstance(); } public function obtenerGeneros(){ $sql = "SELECT id_genero, descripcion FROM genero"; $result = $this->conn->query($sql); $generos = []; while($row = $result->fetch_assoc()){ $generos[] = $row; } return $generos; } public function obtenerRangosEdad(){ $sql = "SELECT id_rango_edad, descripcion FROM rango_edad"; $result = $this->conn->query($sql); $rangos = []; while($row = $result->fetch_assoc()){ $rangos[] = $row; } return $rangos; } public function obtenerTiposIdentificacion(){ $sql = "SELECT id_tipo_id, descripcion FROM tipo_identificacion ORDER BY descripcion"; $result = $this->conn->query($sql); $tipos = []; while($row = $result->fetch_assoc()){ $tipos[] = $row; } return $tipos; } public function obtenerNivelesEstudio(){ $sql = "SELECT id_nivel, descripcion FROM nivel_estudio"; $result = $this->conn->query($sql); $niveles = []; while($row = $result->fetch_assoc()){ $niveles[] = $row; } return $niveles; } public function obtenerGiros(){ $sql = "SELECT id_giro, descripcion FROM giro ORDER BY descripcion"; $result = $this->conn->query($sql); $giros = []; while($row = $result->fetch_assoc()){ $giros[] = $row; } return $giros; } public function obtenerExamenes(){ $sql = "SELECT id_examen, nombre_examen FROM examen ORDER BY nombre_examen"; $result = $this->conn->query($sql); $examenes = []; while($row = $result->fetch_assoc()){ $examenes[] = $row; } return $examenes; } public function obtenerPaises(){ $sql = "SELECT int as id, nombre FROM paises ORDER BY nombre"; $result = $this->conn->query($sql); $paises = []; while($row = $result->fetch_assoc()){ $paises[] = $row; } return $paises; } /** * Obtiene el estado, municipio y colonia en base al código postal proporcionado. * @param int $codigo_postal El código postal a buscar. */ public function obtenerInfiCodigoPostal($codigo_postal){ // Consulta SQL para obtener estado, ciudad y colonia en base al código postal $sql = "SELECT e.nombre AS estado, m.nombre AS municipio, c.nombre AS colonia FROM colonias c JOIN municipios m ON c.municipio = m.id JOIN estados e ON m.estado = e.id WHERE c.codigo_postal = ?"; // Preparar la sentencia SQL $stmt = $this->conn->prepare($sql); $stmt->bind_param("i", $codigo_postal); $stmt->execute(); // Obtener los resultados $result = $stmt->get_result(); // Verificar si hay resultados if ($result->num_rows > 0) { $data = []; while ($row = $result->fetch_assoc()) { $data[] = $row; // Agregar cada resultado a un array } return json_encode($data); // Devolver los resultados en formato JSON } else { return json_encode([]); // Si no hay resultados, devolver un array vacío } $stmt->close(); } } ?>