prepare('SELECT name, year FROM hurricanes WHERE id = ?'); $stmt->execute([$hurricaneId]); $hurricane = $stmt->fetch(); if (!$hurricane) { http_response_code(404); echo json_encode(['error' => 'Hurricane not found']); exit; } $stmt = $pdo->prepare('SELECT lat, lon, wind_speed_mph FROM hurricane_tracks WHERE hurricane_id = ? ORDER BY timestamp ASC'); $stmt->execute([$hurricaneId]); $trackData = $stmt->fetchAll(); // Format for existing frontend: [lon, lat, wind] $formattedTrack = array_map(function($point) { return [(float)$point['lon'], (float)$point['lat'], (int)$point['wind_speed_mph']]; }, $trackData); echo json_encode([ 'name' => $hurricane['name'] . ' (' . $hurricane['year'] . ')', 'track' => $formattedTrack ]); } else { // Fetch list of all hurricanes $stmt = $pdo->query('SELECT id, name, year FROM hurricanes ORDER BY year DESC, name ASC'); $hurricanes = $stmt->fetchAll(); echo json_encode($hurricanes); } } catch (PDOException $e) { http_response_code(500); echo json_encode(['error' => 'Database error: ' . $e->getMessage()]); } ?>