Mysql
 sql >> Base de données >  >> RDS >> Mysql

php mysql compare long et lat, renvoie ceux de moins de 10 miles

Vous n'avez probablement pas besoin de le faire dans le code, vous pouvez probablement tout faire dans la base de données. si vous utilisez un index spatial . Documentation MySQL pour l'index spatial

MODIFIER pour refléter votre modification :

Je pense que vous voulez quelque chose comme ça :

SELECT *, ((ACOS(SIN($lat * PI() / 180) * SIN(lat * PI() / 180) + COS($lat * PI() / 180) * COS(lat * PI() / 180) * COS(($lon - lon) * PI() / 180)) * 180 / PI()) * 60 * 1.1515) AS distance FROM locations HAVING distance<='10' ORDER BY distance ASC

VIA :http://www.zcentric.com/blog/2007/03 /calculate_distance_in_mysql_wi.html :