getConnection(); // AJAX HANDLERS if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['ajax']) && $_POST['ajax'] == '1') { header('Content-Type: application/json'); $action = $_POST['action'] ?? ''; try { if ($action === 'add') { $name = trim($_POST['name'] ?? ''); $abbreviato = trim($_POST['abbreviato'] ?? ''); $ordinamento = (int)($_POST['ordinamento'] ?? 999); $description = trim($_POST['description'] ?? ''); $production_line_id = $_POST['production_line_id'] !== '' ? (int)$_POST['production_line_id'] : null; $tool_id = $_POST['tool_id'] !== '' ? (int)$_POST['tool_id'] : null; $tool_note = trim($_POST['tool_note'] ?? ''); if ($name === '') { echo json_encode(['success' => false, 'message' => 'Nome obbligatorio']); exit; } $stmt = $pdo->prepare(" INSERT INTO skills (name, abbreviato, ordinamento, description, production_line_id, tool_id, tool_note) VALUES (?, ?, ?, ?, ?, ?, ?) "); $stmt->execute([$name, $abbreviato, $ordinamento, $description, $production_line_id, $tool_id, $tool_note]); echo json_encode(['success' => true]); exit; } if ($action === 'edit') { $id = (int)($_POST['id'] ?? 0); $name = trim($_POST['name'] ?? ''); $abbreviato = trim($_POST['abbreviato'] ?? ''); $ordinamento = (int)($_POST['ordinamento'] ?? 999); $description = trim($_POST['description'] ?? ''); $production_line_id = $_POST['production_line_id'] !== '' ? (int)$_POST['production_line_id'] : null; $tool_id = $_POST['tool_id'] !== '' ? (int)$_POST['tool_id'] : null; $tool_note = trim($_POST['tool_note'] ?? ''); if ($id <= 0 || $name === '') { echo json_encode(['success' => false, 'message' => 'Dati non validi']); exit; } $stmt = $pdo->prepare(" UPDATE skills SET name = ?, abbreviato = ?, ordinamento = ?, description = ?, production_line_id = ?, tool_id = ?, tool_note = ? WHERE id = ? "); $stmt->execute([$name, $abbreviato, $ordinamento, $description, $production_line_id, $tool_id, $tool_note, $id]); echo json_encode(['success' => true]); exit; } if ($action === 'delete') { $id = (int)($_POST['id'] ?? 0); if ($id <= 0) { echo json_encode(['success' => false, 'message' => 'ID non valido']); exit; } $stmt = $pdo->prepare("DELETE FROM skills WHERE id = ?"); $stmt->execute([$id]); echo json_encode(['success' => true]); exit; } echo json_encode(['success' => false, 'message' => 'Azione sconosciuta']); exit; } catch (Exception $e) { echo json_encode(['success' => false, 'message' => $e->getMessage()]); exit; } } // Elenco skills con nome tool $skills = $pdo->query(" SELECT s.id, s.name, s.abbreviato, s.ordinamento, s.description, s.tool_id, s.tool_note, s.production_line_id, pl.name AS linea_name, pt.name AS tool_name, pt.registration_number FROM skills s LEFT JOIN production_lines pl ON s.production_line_id = pl.id LEFT JOIN production_tools pt ON s.tool_id = pt.id ORDER BY s.ordinamento ASC, s.id ")->fetchAll(PDO::FETCH_ASSOC); // Linee produzione $lines = $pdo->query("SELECT id, name FROM production_lines ORDER BY line_number")->fetchAll(PDO::FETCH_ASSOC); // Attrezzature per tendina $tools = $pdo->query(" SELECT id, name, registration_number FROM production_tools WHERE is_active = 1 ORDER BY name ")->fetchAll(PDO::FETCH_ASSOC); ?> Gestione Skills
Gestione Skills
Elenco Skills
ID Abbreviato Ordinamento Linea Attrezzatura Nota Tool Azioni
() -