LANIA_Proyecto/php/buscarCodigo.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."]);
}
?>