false, 'message' => 'Method not allowed']); exit; } $partId = isset($_POST['part_id']) ? (int)$_POST['part_id'] : 0; $analysisRecordkey = trim($_POST['analysis_recordkey'] ?? ''); $rowId = isset($_POST['row_id']) && $_POST['row_id'] !== '' ? (int)$_POST['row_id'] : 0; if ($partId <= 0 || ($analysisRecordkey === '' && $rowId <= 0)) { http_response_code(400); echo json_encode(['success' => false, 'message' => 'Missing required data']); exit; } $db = DBHandlerSelect::getInstance(); $pdo = $db->getConnection(); if ($rowId > 0) { $stmt = $pdo->prepare(" DELETE FROM identification_parts_analyses WHERE id = :id AND part_id = :part_id LIMIT 1 "); $stmt->execute([ ':id' => $rowId, ':part_id' => $partId, ]); } else { $stmt = $pdo->prepare(" DELETE FROM identification_parts_analyses WHERE part_id = :part_id AND analysis_recordkey = :analysis_recordkey LIMIT 1 "); $stmt->execute([ ':part_id' => $partId, ':analysis_recordkey' => $analysisRecordkey, ]); } echo json_encode([ 'success' => true, 'message' => 'Association deleted' ]); } catch (Throwable $e) { http_response_code(500); echo json_encode([ 'success' => false, 'message' => $e->getMessage() ]); }