Files
sam-kd/pb_juil/fetch_delivery_info.php

63 lines
2.6 KiB
PHP
Raw Permalink Normal View History

<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
$pdo = db_connect(); // 데이터베이스 연결
// PHP 오류를 로그 파일에 기록하도록 설정
ini_set('log_errors', 1);
ini_set('error_log', $_SERVER['DOCUMENT_ROOT'] . '/php_errors.log');
ini_set('display_errors', 0);
$secondordnum = isset($_GET['secondordnum']) ? $_GET['secondordnum'] : null;
header('Content-Type: application/json'); // JSON 형식으로 응답
if ($secondordnum) {
try {
// 즐겨찾기 정보를 먼저 가져옴
$sql = "SELECT favorites_list FROM delivery_favorites WHERE secondordnum = :secondordnum";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':secondordnum', $secondordnum, PDO::PARAM_INT);
$stmt->execute();
$favorites_result = $stmt->fetch(PDO::FETCH_ASSOC);
$favorites = $favorites_result ? json_decode($favorites_result['favorites_list'], true) : [];
// 기본 쿼리 작성
$sql = "SELECT deliverymethod, delcompany, address, delbranch, delbranchaddress, delcaritem, delcartel, loadplace, chargedmantel, chargedman
FROM motor
WHERE secondordnum = :secondordnum AND is_deleted IS NULL AND (chargedman IS NOT NULL or chargedman !='' ) ";
$stmt = $pdo->prepare($sql);
$stmt->bindParam(':secondordnum', $secondordnum, PDO::PARAM_INT);
$stmt->execute();
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 즐겨찾기 목록과 결과 목록 비교 및 제외
$filtered_results = array_filter($results, function($result) use ($favorites) {
foreach ($favorites as $favorite) {
$match = true;
foreach ($favorite as $key => $value) {
// 공백이나 null 값을 제외하고 비교
if (!empty($value) && isset($result[$key]) && $result[$key] !== $value) {
$match = false;
break;
}
}
if ($match) {
return false;
}
}
return true;
});
// $favorites 값을 함께 반환
echo json_encode(['results' => array_values($filtered_results), 'favorites' => $favorites]);
} catch (Exception $e) {
error_log('Exception: ' . $e->getMessage() . ' in ' . $e->getFile() . ' on line ' . $e->getLine());
error_log($e->getTraceAsString());
echo json_encode(['error' => 'An error occurred while processing your request.']);
}
} else {
echo json_encode(['error' => 'No secondordnum provided']);
}
?>