36248-vm/search.php
2025-11-25 07:51:50 +00:00

46 lines
1.1 KiB
PHP

<?php
header('Content-Type: application/json');
require_once __DIR__ . '/db/config.php';
$query = $_GET['q'] ?? '';
if (empty($query)) {
echo json_encode([]);
exit;
}
try {
$pdo = db();
// Find all products matching the query
$stmt = $pdo->prepare(
'SELECT name, retailer, price FROM products WHERE name LIKE :query ORDER BY name, price'
);
$stmt->execute(['query' => '%' . $query . '%']);
$results = $stmt->fetchAll();
// Group prices by product name
$products = [];
foreach ($results as $row) {
if (!isset($products[$row['name']])) {
$products[$row['name']] = [
'name' => $row['name'],
'prices' => []
];
}
$products[$row['name']]['prices'][] = [
'retailer' => $row['retailer'],
'price' => $row['price']
];
}
// Return as a simple array of products
echo json_encode(array_values($products));
} catch (PDOException $e) {
http_response_code(500);
echo json_encode(['error' => 'Database error: ' . $e->getMessage()]);
}