53 lines
1.9 KiB
PHP
53 lines
1.9 KiB
PHP
<?php
|
|
// filepath: c:\xampp\htdocs\Proyecto_Lania\LANIA_Proyecto\php\buscarCodigo.php
|
|
include 'conexionBd.php'; // Asegúrate de que el archivo esté en la ruta correcta
|
|
|
|
header('Content-Type: application/json'); // Aseguramos que la respuesta sea JSON
|
|
|
|
// Crear instancia de la conexión
|
|
$conexion = new Conexion();
|
|
$conexionBD = $conexion->conectar(); // Establecer conexión
|
|
|
|
// Verificar que se ha enviado el parámetro 'codigo_postal'
|
|
if (isset($_GET['codigo_postal'])) {
|
|
$codigo_postal = $_GET['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 = ?";
|
|
|
|
// Verificar que la conexión a la base de datos esté activa
|
|
if ($conexionBD) {
|
|
// Preparar la sentencia SQL
|
|
$stmt = $conexionBD->prepare($sql);
|
|
$stmt->bind_param("i", $codigo_postal); // El parámetro es un entero (i)
|
|
$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
|
|
}
|
|
echo json_encode($data); // Devolver los resultados en formato JSON
|
|
} else {
|
|
echo json_encode([]); // Si no hay resultados, devolver un array vacío
|
|
}
|
|
|
|
$stmt->close();
|
|
} else {
|
|
echo json_encode(["error" => "Conexión a la base de datos fallida."]);
|
|
}
|
|
|
|
$conexionBD->close();
|
|
} else {
|
|
// Si no se recibe un código postal, respondemos con un error
|
|
echo json_encode(["error" => "Código postal no proporcionado."]);
|
|
}
|
|
?>
|