<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");  
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
$pdo = db_connect();	

$search = $_POST['search'] ?? '';  // POST로 전달된 검색어, 기본값은 빈 문자열

// Assuming $DB is defined in mydb.php or session.php
if (!isset($DB)) {
    $DB = 'chandj'; // 실제 데이터베이스 이름으로 대체하세요.
}

try {    
    // 검색어가 없을 경우 전체 목록을 가져옴
    if ($search === '') {
        // 전체 목록을 가져오는 SQL
        $sql = "SELECT item_name, unit, spec 
                FROM {$DB}.price_etc 
                WHERE is_deleted IS NULL OR is_deleted = '0'";
    } else {
        // 검색어가 있을 경우 해당 검색어를 기준으로 검색한 SQL
        $sql = "SELECT item_name, unit, spec 
                FROM {$DB}.price_etc 
                WHERE (is_deleted IS NULL OR is_deleted = '0')
                AND item_name LIKE :search";
    }
    
    $stmh = $pdo->prepare($sql);

    if ($search !== '') {
        // 검색어가 있는 경우만 바인딩
        $searchTerm = '%' . $search . '%';
        $stmh->bindParam(':search', $searchTerm, PDO::PARAM_STR);
    }

    $stmh->execute();
    $output_rows = $stmh->fetchAll(PDO::FETCH_ASSOC);

    // 데이터가 존재하면 그대로 반환
    if ($output_rows) {
        // 결과를 JSON으로 출력
        header('Content-Type: application/json');
        echo json_encode($output_rows);
    } else {
        // 데이터가 없으면 빈 배열 반환
        header('Content-Type: application/json');
        echo json_encode([]);
    }

} catch (PDOException $Exception) {
    // 오류가 발생하면 JSON으로 오류 메시지 반환
    header('Content-Type: application/json');
    echo json_encode(["error" => $Exception->getMessage()]);
    exit;
}
?>
