최초 커밋
This commit is contained in:
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
ini_set('display_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
header("Content-Type: application/json; charset=utf-8");
|
||||
|
||||
/* =========================
|
||||
DB 연결
|
||||
========================= */
|
||||
try {
|
||||
$pdo = new PDO(
|
||||
"mysql:host=localhost;dbname=egbim;charset=utf8mb4",
|
||||
"egbim",
|
||||
"baron3840!!",
|
||||
[
|
||||
PDO::ATTR_ERRMODE => 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" => "알 수 없는 요청"]);
|
||||
Reference in New Issue
Block a user