= k.max_teilnehmer THEN 0 ELSE 1 END as verfuegbar FROM kurse k LEFT JOIN anmeldungen a ON k.id = a.kurs_id GROUP BY k.id ORDER BY k.name"; $stmt = $db->prepare($query); $stmt->execute(); $kurse = []; while ($row = $stmt->fetch()) { $kurse[] = [ 'id' => (int)$row['id'], 'name' => $row['name'], 'beschreibung' => $row['beschreibung'], 'gebuehr' => (float)$row['gebuehr'], 'max_teilnehmer' => (int)$row['max_teilnehmer'], 'belegte_plaetze' => (int)$row['belegte_plaetze'], 'freie_plaetze' => (int)$row['freie_plaetze'], 'verfuegbar' => (bool)$row['verfuegbar'] ]; } echo json_encode($kurse); } catch (Exception $e) { error_log("Error in kurse/get.php: " . $e->getMessage()); http_response_code(500); echo json_encode(['message' => 'Fehler beim Laden der Kurse']); }