- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
57 lines
1.8 KiB
PHP
57 lines
1.8 KiB
PHP
<?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;
|
|
}
|
|
?>
|