PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ] ); } catch (Exception $e) { echo json_encode(["status" => "fail", "message" => "DB 연결 실패"]); exit; } $action = $_POST['action'] ?? $_GET['action'] ?? ""; /* ========================= 1) LIST (READ) ========================= */ if ($action === "list") { $stmt = $pdo->query(" SELECT * FROM sales_members ORDER BY created_at DESC "); echo json_encode([ "status" => "ok", "records" => $stmt->fetchAll() ]); exit; } /* ========================= 2) INSERT (사번부터 직접 입력) ========================= */ if ($action === "insert") { // emp_no가 비어 있으면 오류 반환 if (empty($_POST['emp_no'])) { echo json_encode([ "status" => "fail", "message" => "사번(emp_no)은 필수입니다." ]); exit; } $stmt = $pdo->prepare(" INSERT INTO sales_members (emp_no, emp_name, position, department, created_at) VALUES (?, ?, ?, ?, NOW()) "); $stmt->execute([ $_POST['emp_no'], $_POST['emp_name'] ?? '', $_POST['position'] ?? '', $_POST['department'] ?? '' ]); echo json_encode(["status" => "ok"]); exit; } /* ========================= 3) UPDATE ========================= */ if ($action === "update") { $emp_no = $_POST['emp_no'] ?? ''; if (!$emp_no) { echo json_encode(["status" => "fail", "message" => "emp_no 누락"]); exit; } unset($_POST['action'], $_POST['emp_no']); $fields = []; $params = []; foreach ($_POST as $key => $value) { // 🔥 빈문자, null 은 업데이트 X → 기존 DB 값 유지 if ($value === '' || $value === null) { continue; } $fields[] = "$key = ?"; $params[] = $value; } if (!empty($fields)) { $sql = "UPDATE sales_members SET " . implode(", ", $fields) . ", updated_at = NOW() WHERE emp_no = ?"; $params[] = $emp_no; $stmt = $pdo->prepare($sql); $stmt->execute($params); } echo json_encode(["status" => "ok"]); exit; } /* ========================= 4) DELETE ========================= */ if ($action === "delete") { $stmt = $pdo->prepare("DELETE FROM sales_members WHERE emp_no=?"); $stmt->execute([$_POST['emp_no']]); echo json_encode(["status" => "ok"]); exit; } /* ========================= DEFAULT ========================= */ echo json_encode(["status" => "fail", "message" => "알 수 없는 요청"]);