I have a MySQL table in a PHP webservice containing longitude and latitude. I want to send the user only the, let\'s say, 5 closest coordinates. I wrote the method which cal
Using Google's algorithm:
$lon = //your longitude
$lat = //your latitude
$miles = //your search radius
$query = "SELECT *,
( 3959 * acos( cos( radians('$lat') ) *
cos( radians( latitude ) ) *
cos( radians( longitude ) -
radians('$lon') ) +
sin( radians('$lat') ) *
sin( radians( latitude ) ) ) )
AS distance FROM yourtable HAVING distance < '$miles' ORDER BY distance ASC LIMIT 0, 5"
latitude and longitude in this query are going to be your lat/lon column names.