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']); } ?>