query("SELECT * FROM amenidades"); if ($_SERVER["REQUEST_METHOD"] == "POST") { $titulo = $conexion->real_escape_string($_POST['titulo']); $precio = (float)$_POST['precio']; $ubicacion = $conexion->real_escape_string($_POST['ubicacion']); $latitud = $_POST['latitud'] !== '' ? (float)$_POST['latitud'] : 'NULL'; $longitud = $_POST['longitud'] !== '' ? (float)$_POST['longitud'] : 'NULL'; $tipo_inmueble = $conexion->real_escape_string($_POST['tipo_inmueble']); $tipo_operacion = $conexion->real_escape_string($_POST['tipo_operacion']); $banos_completos = (int)$_POST['banos_completos']; $medios_banos = (int)$_POST['medios_banos']; $recamaras = (int)$_POST['recamaras']; $anio_construccion = $_POST['anio_construccion'] !== '' ? (int)$_POST['anio_construccion'] : 'NULL'; $metros_terreno = $_POST['metros_terreno'] !== '' ? (float)$_POST['metros_terreno'] : 'NULL'; $metros_construccion = $_POST['metros_construccion'] !== '' ? (float)$_POST['metros_construccion'] : 'NULL'; $descripcion = $conexion->real_escape_string($_POST['descripcion']); $estacionamiento = isset($_POST['estacionamiento']) ? (int)$_POST['Estacionamiento'] : 0; $localidad = $conexion->real_escape_string($_POST['localidad']); $imagen = ''; if (!empty($_POST['ruta_imagen_manual'])) { $imagen = $conexion->real_escape_string(trim($_POST['ruta_imagen_manual'])); } if (isset($_FILES['imagen']) && $_FILES['imagen']['error'] === UPLOAD_ERR_OK) { $nombreTemp = $_FILES['imagen']['tmp_name']; $nombreArchivo = basename($_FILES['imagen']['name']); $nombreSeguro = time() . '_' . preg_replace('/[^a-zA-Z0-9._-]/', '_', $nombreArchivo); $rutaRelativa = 'build/img/' . $nombreSeguro; $rutaDestino = __DIR__ . '/' . $rutaRelativa; if (move_uploaded_file($nombreTemp, $rutaDestino)) { $imagen = $conexion->real_escape_string($rutaRelativa); } } if ($imagen === '') { echo "
Debe subir una imagen o proporcionar una ruta válida.
"; exit; } $amenidades = isset($_POST['amenidades']) ? $_POST['amenidades'] : []; $nuevasAmenidadesTexto = trim($_POST['nuevas_amenidades']); if (!empty($nuevasAmenidadesTexto)) { $nuevas = array_map('trim', explode(',', $nuevasAmenidadesTexto)); foreach ($nuevas as $nombreAmenidad) { if ($nombreAmenidad !== '') { $check = $conexion->query("SELECT id FROM amenidades WHERE nombre = '$nombreAmenidad'"); if ($check->num_rows === 0) { $conexion->query("INSERT INTO amenidades (nombre) VALUES ('$nombreAmenidad')"); } $get = $conexion->query("SELECT id FROM amenidades WHERE nombre = '$nombreAmenidad' LIMIT 1"); $idAmenidad = $get->fetch_assoc()['id']; $amenidades[] = $idAmenidad; } } } $sql = "INSERT INTO propiedades ( titulo, precio, ubicacion, latitud, longitud, tipo_inmueble, tipo_operacion, banos_completos, medios_banos, recamaras, anio_construccion, metros_terreno, metros_construccion, descripcion, imagen, estacionamiento, localidad ) VALUES ( '$titulo', $precio, '$ubicacion', " . ($latitud === 'NULL' ? 'NULL' : $latitud) . ", " . ($longitud === 'NULL' ? 'NULL' : $longitud) . ", '$tipo_inmueble', '$tipo_operacion', $banos_completos, $medios_banos, $recamaras, " . ($anio_construccion === 'NULL' ? 'NULL' : $anio_construccion) . ", " . ($metros_terreno === 'NULL' ? 'NULL' : $metros_terreno) . ", " . ($metros_construccion === 'NULL' ? 'NULL' : $metros_construccion) . ", '$descripcion', '$imagen', $estacionamiento, '$localidad' )"; if ($conexion->query($sql)) { $propiedad_id = $conexion->insert_id; foreach ($amenidades as $idAmenidad) { $conexion->query("INSERT INTO amenidades_propiedad (propiedad_id, amenidad_id) VALUES ($propiedad_id, $idAmenidad)"); } echo ""; exit; } else { echo "Error al guardar propiedad: " . $conexion->error; } } ?>