How can PHP developers effectively limit notifications based on geographical proximity, such as within a certain radius, using database queries?

To limit notifications based on geographical proximity, PHP developers can use the Haversine formula to calculate distances between locations and filter notifications within a certain radius. By storing latitude and longitude coordinates in the database, developers can query for notifications that fall within the desired radius from a given location.

// Assuming $userLatitude, $userLongitude, and $radius are provided
$radius = 10; // in kilometers

$sql = "SELECT * FROM notifications 
        WHERE 
        (6371 * acos(cos(radians($userLatitude)) * cos(radians(latitude)) * cos(radians(longitude) - radians($userLongitude)) + sin(radians($userLatitude)) * sin(radians(latitude))) <= $radius";

// Execute the SQL query and process the results