34968-vm/rate.php
Flatlogic Bot ab1ae8b39b V2
2025-10-14 23:38:25 +00:00

37 lines
1.4 KiB
PHP

<?php
require_once 'db/config.php';
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$restaurant_id = $_POST['restaurant_id'] ?? null;
$new_rating = $_POST['rating'] ?? null;
if ($restaurant_id && $new_rating) {
try {
$pdo = db();
// Get current rating and count
$stmt = $pdo->prepare("SELECT rating, rating_count FROM restaurants WHERE id = ?");
$stmt->execute([$restaurant_id]);
$restaurant = $stmt->fetch(PDO::FETCH_ASSOC);
if ($restaurant) {
$current_total_rating = $restaurant['rating'] * $restaurant['rating_count'];
$new_total_rating = $current_total_rating + $new_rating;
$new_rating_count = $restaurant['rating_count'] + 1;
$new_average_rating = $new_total_rating / $new_rating_count;
// Update restaurant with new rating
$update_stmt = $pdo->prepare("UPDATE restaurants SET rating = ?, rating_count = ? WHERE id = ?");
$update_stmt->execute([$new_average_rating, $new_rating_count, $restaurant_id]);
}
} catch (PDOException $e) {
// Log error, but don't show to user
error_log("Rating update failed: " . $e->getMessage());
}
}
}
// Redirect back to the menu page
header('Location: menu.php?id=' . $restaurant_id);
exit;
?>