我有一个使用 PHP 搜索和显示的广告数据库。用户在搜索过程中输入邮政编码,然后执行查询。当结果页面返回给用户时,它会显示广告项目与其邮政编码的距离。
我需要知道的是如何按距离对结果进行排序。我可以通过对查询进行排序来对价格结果进行排序,但由于距离是在 php 页面上计算的,并且每个用户的距离都不同,所以我不知道如何排序。
距离是使用网格和毕达哥拉斯定理计算的。
不确定什么代码有用。如果您想查看任何内容,请告诉我。
谢谢
最佳答案
不要重新发明漏气的轮胎。您需要此任务的半正矢地理距离公式。看这里。
MySQL Great Circle Distance (Haversine formula)
计算出距离后,就可以很简单地按距离正确排序并限制搜索以提高效率。看这里。
关于php - 如何按距离对数据库中的php结果进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7717205/