Files
sam-kd/output/insert_iList.php

72 lines
2.4 KiB
PHP
Raw Normal View History

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
header("Content-Type: application/json");
$num = isset($_REQUEST['num']) ? $_REQUEST['num'] : '';
$tablename = isset($_REQUEST['tablename']) ? $_REQUEST['tablename'] : 'output';
// 날짜 필드 - 빈 문자열은 NULL로 처리 (MySQL 8.0 Strict Mode 호환)
$ACIaskDate = isset($_REQUEST['ACIaskDate']) && $_REQUEST['ACIaskDate'] !== '' ? $_REQUEST['ACIaskDate'] : null;
$ACIdoneDate = isset($_REQUEST['ACIdoneDate']) && $_REQUEST['ACIdoneDate'] !== '' ? $_REQUEST['ACIdoneDate'] : null;
// JSON 데이터를 저장할 경로 설정
$jsonFilePath = "../output/i_json/" . $num . ".json";
if (isset($_POST['iList'])) {
$iList_jsondata = json_decode($_POST['iList'], true);
if ($iList_jsondata === null && json_last_error() !== JSON_ERROR_NONE) {
echo json_encode(['error' => 'Invalid JSON data provided.'], JSON_UNESCAPED_UNICODE);
exit;
}
// 기존 JSON 파일 삭제
if (file_exists($jsonFilePath)) {
unlink($jsonFilePath); // 기존 파일 삭제
}
// JSON 데이터를 파일에 저장
file_put_contents($jsonFilePath, json_encode($iList_jsondata, JSON_UNESCAPED_UNICODE | JSON_PRETTY_PRINT));
} else {
$iList_jsondata = null;
}
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
$pdo = db_connect();
try {
$pdo->beginTransaction();
// 데이터베이스에 파일 경로를 저장
$sql = "UPDATE {$DB}.{$tablename} SET iList=?, ACIdoneDate=?, ACIaskDate=? WHERE num=? LIMIT 1";
$stmh = $pdo->prepare($sql);
$stmh->bindValue(1, $jsonFilePath, PDO::PARAM_STR); // JSON 파일 경로를 저장
$stmh->bindValue(2, $ACIdoneDate, PDO::PARAM_STR);
$stmh->bindValue(3, $ACIaskDate, PDO::PARAM_STR);
$stmh->bindValue(4, $num, PDO::PARAM_STR);
$stmh->execute();
$pdo->commit();
} catch (PDOException $Exception) {
$pdo->rollBack(); // 트랜잭션 롤백
error_log("오류: " . $Exception->getMessage());
echo json_encode(['error' => $Exception->getMessage()], JSON_UNESCAPED_UNICODE);
exit;
}
$data = [
'num' => $num,
'iList source : ' => $_POST['iList'],
'json_file' => $jsonFilePath,
'iList_jsondata' => $iList_jsondata,
'message' => 'JSON data saved to file and database updated successfully.'
];
echo json_encode($data, JSON_UNESCAPED_UNICODE);
?>