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; ?>