php - 使用PHP和MySQL计算地理定位距离

标签 php mysql geolocation where-clause

我有一个 php 脚本和一个地理位置数据库。

目前我的用户可以输入他们的邮政编码,使用 Yahaa 我可以获得他们的地理位置。

现在我有了他们的地理位置,我想编写一个脚本,按距离顺序加载他们的本地业务。我猜想这样做我需要从数据库中加载与用户当前地理位置最相似坐标的记录。我试过这段代码:

$sql = "SELECT * FROM dirlistings WHERE ABS(latitude - $lat) AND ABS(longitude - $long)";

但是它只是按正常顺序显示结果。

我错过了什么吗?

最佳答案

我认为您需要在某处添加一个 ORDER 子句。

但您真正想要的是 Haversine 公式:MySQL Great Circle Distance (Haversine formula)

关于php - 使用PHP和MySQL计算地理定位距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9084410/

相关文章:

php - Paypal 检测到资金不足

php - 清理 Magento Google Api OAuth2 集成

mysql - 如何强制mariaDB使用索引?

mysql - 当多个函数运行查询时连接到数据库的有效方法

java - 无法从spring项目连接到mysql数据库

javascript - 计算两个 GPS 坐标之间的罗盘方位的问题

php - Paypal 数据传输后直接到新的html页面

javascript - 地理定位传单标记未删除旧标记

javascript - 脚本不允许 geolocation.getCurrentPosition 完成其回调函数

php - 最好使用一个长查询还是多个?