'printer id missing']); exit; } $printerStmt = $pdo->prepare("SELECT * FROM printers WHERE id = ?"); $printerStmt->execute([$printer_id]); $printer = $printerStmt->fetch(); if (!$printer) { http_response_code(404); echo json_encode(['error' => 'printer not found']); exit; } $sql = "SELECT m.*, pms.support_level, pms.partial_reason, pms.extra_info FROM materials m LEFT JOIN printer_material_support pms ON pms.material_id = m.id AND pms.printer_id = :pid WHERE m.is_active = 1 ORDER BY m.code"; $stmt = $pdo->prepare($sql); $stmt->execute([':pid' => $printer_id]); $materials = $stmt->fetchAll(); echo json_encode([ 'printer' => $printer, 'materials' => $materials ], JSON_UNESCAPED_UNICODE);