143 lines
3.7 KiB
PHP
143 lines
3.7 KiB
PHP
<?php
|
|
|
|
require_once __DIR__ . '/../config/Database.php';
|
|
|
|
class Catalogos{
|
|
private $conn;
|
|
|
|
public function __construct() {
|
|
$this->conn = Database::getInstance();
|
|
}
|
|
|
|
/**
|
|
* Obtiene el estado, municipio y colonia en base al código postal proporcionado.
|
|
* @param int $codigo_postal El código postal a buscar.
|
|
* @return array Un array con los datos de estado, municipio y colonia.
|
|
*/
|
|
public function obtenerInfiCodigoPostal($codigo_postal){
|
|
|
|
// Consulta SQL para obtener estado, ciudad y colonia en base al código postal
|
|
$sql = "SELECT e.id AS id_estado, e.nombre AS estado, m.id AS id_municipio, m.nombre AS municipio, c.id AS id_colonia, 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();
|
|
|
|
$stmt->close();
|
|
$data = [];
|
|
// Verificar si hay resultados
|
|
if ($result->num_rows > 0) {
|
|
while ($row = $result->fetch_assoc()) {
|
|
$data[] = $row; // Agregar cada resultado a un array
|
|
}
|
|
return $data;
|
|
} else {
|
|
return $data;
|
|
}
|
|
|
|
}
|
|
|
|
/**
|
|
* Obtiene los giros.
|
|
* @return array
|
|
*/
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* Obtiene los nombres de los examenes disponibles.
|
|
* @return array Lista del nombre de la institución a la que pertenece el examen.
|
|
*/
|
|
public function obtenerNombresExamenes(){
|
|
$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;
|
|
}
|
|
|
|
/**
|
|
* Obtener los tipos de identificación.
|
|
* @return array
|
|
*/
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* Obtiene los rangos de edad.
|
|
* @return array
|
|
*/
|
|
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;
|
|
}
|
|
|
|
/**
|
|
* Obtiene los niveles de estudio.
|
|
* @return array
|
|
*/
|
|
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 obtenerNombresEmpresasInstituciones(){
|
|
$sql = "SELECT DISTINCT nombre_empresa_institucion FROM info_candidatos";
|
|
$result = $this->conn->query($sql);
|
|
|
|
$empresas = [];
|
|
while($row = $result->fetch_assoc()){
|
|
$empresas[] = $row;
|
|
}
|
|
|
|
return $empresas;
|
|
}
|
|
|
|
}
|
|
|
|
?>
|