【问题标题】:How to order php results from database by distance如何按距离从数据库中排序 php 结果
【发布时间】:2011-10-10 18:46:56
【问题描述】:

我有一个使用 PHP 搜索和显示的广告数据库。用户在搜索期间输入他们的邮政编码,然后执行查询。当结果页面返回给用户时,它会显示广告项目与其邮政编码的距离。

我需要知道的是如何按距离对结果进行排序。我可以通过对查询进行排序来对价格结果进行排序,但是因为距离是在 php 页面上计算的,并且对于每个用户都不同,所以我不知道如何排序。

使用网格和毕达哥拉斯定理计算距离。

不确定什么代码有用。如果你想看到任何只是让我知道。

谢谢

【问题讨论】:

  • 是否可以提供有关表结构的更多信息以及基于什么?您正在计算距离,将有助于给出结果。

标签: php mysql sorting


【解决方案1】:

不要重新发明瘪胎。您需要此任务的半正弦地理距离公式。看这里。

MySQL Great Circle Distance (Haversine formula)

一旦确定了距离,就可以轻松地按距离正确排序并限制搜索以提高效率。看这里。

Geolocation distance SQL from a cities table

【讨论】:

  • 感谢您的回答。今天下午我会看看实施。干杯
猜你喜欢
  • 2016-12-15
  • 2016-03-27
  • 2011-12-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-06-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多