20260205 업데이트(컨텐츠 페이지 연결)

This commit is contained in:
2026-02-05 10:06:09 +09:00
parent 5d52f6d37a
commit 6dcc2eb796
208 changed files with 8143 additions and 1524 deletions

View File

@@ -5,23 +5,43 @@ require_once 'db_conn.php';
header('Content-Type: application/json');
try {
// 클라이언트(JS)로부터 전달받은 검색 조건 (POST 또는 GET 방식에 맞춰 수정)
$p_member_id = $_POST['member_id'] ?? '';
$p_member_nm = $_POST['member_nm'] ?? '';
// 날짜가 빈 값('')으로 오면 반드시 null로 치환해야 PostgreSQL date 타입 에러가 안 납니다.
$p_fbuy_dt = (!empty($_POST['fbuy_dt'])) ? $_POST['fbuy_dt'] : null;
$p_tbuy_dt = (!empty($_POST['tbuy_dt'])) ? $_POST['tbuy_dt'] : null;
$p_member_id = isset($_POST['member_id']) ? trim($_POST['member_id']) : '';
$p_fbuy_dt = isset($_POST['fbuy_dt']) ? trim($_POST['fbuy_dt']) : '';
$p_tbuy_dt = isset($_POST['tbuy_dt']) ? trim($_POST['tbuy_dt']) : '';
// 2. 프로시저 호출 - 파라미터 자리에 ?를 사용합니다.
$stmt = $pdo->prepare("SELECT * FROM kngil.sp_buy_item_history_r(?, ?, ?, ?)");
if ($p_fbuy_dt === '') {
$p_fbuy_dt = '1999-01-01';
}
if ($p_tbuy_dt === '') {
$p_tbuy_dt = '2099-12-31';
}
$sql = "
SELECT
a.member_id::text, a.sq_no,
b.member_nm::text as user_nm, b.co_nm::text, b.bs_no::text,
a.buy_dt, a.itm_cd::text, c.itm_nm::text,
c.area::NUMERIC as area, a.itm_qty::NUMERIC,
a.itm_area::NUMERIC, a.add_area::NUMERIC, a.sum_area::NUMERIC,
a.itm_amt::NUMERIC, a.dis_rt::NUMERIC, a.buy_amt::NUMERIC,
a.vat_amt::NUMERIC, a.sum_amt::NUMERIC,
a.end_dt, a.ok_yn::text, a.rmks::text
FROM kngil.buy_item a
LEFT JOIN kngil.members b ON a.member_id = b.member_id
LEFT JOIN kngil.item c ON a.itm_cd = c.itm_cd
WHERE (:member_id = '' OR a.member_id = :member_id)
AND (:fbuy_dt = '' OR a.buy_dt >= :fbuy_dt::date)
AND (:tbuy_dt = '' OR a.buy_dt <= :tbuy_dt::date)
ORDER BY a.buy_dt DESC, a.member_id, a.sq_no DESC
";
$stmt = $pdo->prepare($sql);
// 파라미터 순서대로 배열에 담아 실행합니다.
$stmt->execute([
$p_member_id,
$p_member_nm,
$p_fbuy_dt,
$p_tbuy_dt
':member_id' => $p_member_id,
':fbuy_dt' => $p_fbuy_dt,
':tbuy_dt' => $p_tbuy_dt
]);
$rows = $stmt->fetchAll(PDO::FETCH_ASSOC);