5) { sleep(1); header("Location:" . $WebSite . "login/login_form.php"); exit; } $mode = isset($_POST['mode']) ? $_POST['mode'] : ''; $num = isset($_POST['num']) ? $_POST['num'] : ''; $tablename = 'account_juil'; require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php"); $pdo = db_connect(); if ($mode === 'update' && $num) { try { $sql = "SELECT * FROM " . $tablename . " WHERE num=?"; $stmh = $pdo->prepare($sql); $stmh->bindValue(1, $num, PDO::PARAM_INT); $stmh->execute(); $row = $stmh->fetch(PDO::FETCH_ASSOC); $content = $row['content']; // 저장된 content 값을 가져옴 include '_row.php'; // 콤마 제거 후 숫자로 변환 $amount = floatval(str_replace(',', '', $row['amount'])); } catch (PDOException $Exception) { echo "오류: " . $Exception->getMessage(); exit; } } else if ($mode === 'copy' && $num) { try { $sql = "SELECT * FROM " . $tablename . " WHERE num=?"; $stmh = $pdo->prepare($sql); $stmh->bindValue(1, $num, PDO::PARAM_INT); $stmh->execute(); $row = $stmh->fetch(PDO::FETCH_ASSOC); $content = $row['content']; include '_row.php'; $amount = floatval(str_replace(',', '', $row['amount'])); $mode = 'insert'; // 복사 모드에서는 새로운 항목으로 등록 $registDate = date('Y-m-d'); // 현재 날짜로 설정 } catch (PDOException $Exception) { echo "오류: " . $Exception->getMessage(); exit; } } else { include '_request.php'; $mode = 'insert'; $registDate = date('Y-m-d'); $inoutsep = '지출'; $amount = 0; $content = ''; // 기본값 설정 } $title_message = ($mode === 'update') ? '금전출납부 수정 #' . $num : '금전출납부 신규 등록' ; // Bankbook options $bankbookOptions = []; $jsonFile = $_SERVER['DOCUMENT_ROOT'] . "/account_juil/accoutlist.json"; $accounts = []; $selectedAccount = null; if (file_exists($jsonFile)) { $jsonContent = file_get_contents($jsonFile); $accounts = json_decode($jsonContent, true); if (is_array($accounts) && !empty($accounts)) { // 선택된 계좌 또는 기본 계좌(첫 번째) 설정 $selectedAccountIndex = isset($_REQUEST['selected_account']) ? intval($_REQUEST['selected_account']) : 0; $selectedAccount = $accounts[$selectedAccountIndex] ?? $accounts[0]; // bankbookOptions 배열에 계좌 정보 추가 foreach ($accounts as $account) { $displayText = $account['company'] . ' ' . $account['number']; if (!empty($account['memo'])) { $displayText .= ' (' . $account['memo'] . ')'; } $bankbookOptions[] = $displayText; } } } // 전자어음은 별도로 처리하므로 JSON 배열에는 추가하지 않음 // 수입/지출 계정 정보 가져오기 include 'fetch_options.php'; if($inoutsep == '수입') $options = $incomeOptions; elseif($inoutsep == '최초전월이월') $options = $incomeOptions; else $options = $expenseOptions; // 선택된 항목의 세부항목 가져오기 $selectedKey = $content ?? null; // URL의 'key' 매개변수로 전달 $details = null; if ($selectedKey) { // 수입에서 검색 if (isset($jsonData['수입'][$selectedKey])) { $details = $jsonData['수입'][$selectedKey]['하위계정']; } // 지출에서 검색 if (isset($jsonData['지출'][$selectedKey])) { $details = $jsonData['지출'][$selectedKey]['하위계정']; } } // '개인대출'과 '주일기업' 등 키만 추출 $Suboptions = []; if ($details) { foreach ($details as $detail) { foreach ($detail as $key => $value) { $Suboptions[] = $key; } } } // 항목의 세부항목 수정시 처리하는 구문 if (isset($_POST['action']) && $_POST['action'] === 'getSubOptions') { $selectedKey = $_POST['selectedKey'] ?? null; $subOptions = []; if ($selectedKey) { if (isset($incomeOptions[$selectedKey]) && isset($jsonData['수입'][$selectedKey]['하위계정'])) { $subOptions = $jsonData['수입'][$selectedKey]['하위계정']; } elseif (isset($expenseOptions[$selectedKey]) && isset($jsonData['지출'][$selectedKey]['하위계정'])) { $subOptions = $jsonData['지출'][$selectedKey]['하위계정']; } elseif (isset($incomeOptions[$selectedKey]) && isset($jsonData['최초전월이월'][$selectedKey]['하위계정'])) { $subOptions = $jsonData['최초전월이월'][$selectedKey]['하위계정']; } } // $Suboptions 배열을 키를 기준으로 오름차순 정렬 ksort($Suboptions); echo json_encode(['subOptions' => $subOptions], JSON_UNESCAPED_UNICODE); exit; } // echo '
';
// print_r($Suboptions);
// echo '
'; // echo '
';
// print_r($contentSub);
// echo '
'; //print_r($details[); // $options = array_merge($incomeOptions, $expenseOptions); // $options 배열을 키를 기준으로 오름차순 정렬 ksort($options); // $Suboptions 배열을 키를 기준으로 오름차순 정렬 ksort($Suboptions); require_once $_SERVER['DOCUMENT_ROOT'] . '/load_GoogleDriveSecond.php'; // attached, image에 대한 정보 불러오기 // echo '
';   
// print_r($savefilename_arr);
// echo '
'; // echo '
';   
// print_r($$bankbookOptions );
// echo '
'; ?>
등록일자 구분
>    >    >
계좌
배서일자
항목
세부항목
상세 내역
금액 PNum 거래처코드 만기일자
직전 // try { // $imgSt = $pdo->prepare( // "SELECT picname // FROM picuploads // WHERE tablename = ? // AND parentnum = ? // AND item = 'image'" // ); // $imgSt->execute([$tablename, $num]); // $files = $imgSt->fetchAll(PDO::FETCH_COLUMN); // if ($files) { // echo '
첨부 이미지
'; // echo '
'; // echo '
'; // } // } catch (Exception $e) { // // 이미지 섹션 로드 실패 시 무시 // } // // 삽입 위치: form 하단,
직전 try { $imgSt = $pdo->prepare( "SELECT picname FROM picuploads WHERE tablename = ? AND parentnum = ? AND item = 'image'" ); $imgSt->execute([$tablename, $num]); $files = $imgSt->fetchAll(PDO::FETCH_COLUMN); if ($files) { echo '
첨부 이미지
'; echo '
'; foreach ($files as $fileId) { $thumb = getThumbnail($fileId, $service) ?: "https://drive.google.com/uc?id={$fileId}"; $imageId = $fileId; // 고유한 이미지 ID 생성 // $link ="https://drive.google.com/uc?id={$fileId}"; $link ="https://drive.google.com/file/d/{$fileId}/view?usp=drivesdk"; echo '
'; echo " "; echo " "; echo ' '; echo '
'; } echo '
'; } } catch (Exception $e) { // 이미지 섹션 로드 실패 시 무시 } ?>