Kee*_*ezy 5 php mysql math mysqli
场景:我有一个包含三个表、用户、位置、库存的数据库;
在用户中我有: id, name, email
在我有的地点: id, place, lati, logi
库存中有: id, user_id, product, total_count, location_id
我是新手,我设法加入了所有表:
$qry = "
SELECT COUNT(id)
FROM stock
LEFT
JOIN users
ON stock.user_id= users.id
LEFT
JOIN locations
ON stock.location_id= locations.id ";
Run Code Online (Sandbox Code Playgroud)
但我希望能够做的是使用 lati 和 logi 按距离对它进行排序。因此,例如,我想要 25 英里内的所有东西,排序最近到最远。
我该如何解决这个问题?
我做了一些谷歌搜索,但我发现的一切都向我展示了如何获得两点之间的距离,但是我希望能够使用一组点并获得 X 英里范围内的所有内容?
不确定这一切是否有意义?
我在我的应用程序中提出了以下简化的计算公式:
pow(CentralLati - LatitudeofCircle, 2) +
pow(CentralLongi - LongitudeofCircle, 2) <= 4
在哪里,
CentralLati , CentralLongi => 点 A 的坐标
LatitudeofCircle, LongitudeofCircle => 以 A 点为中心 25 公里范围内的点的坐标。
您可以调整上述公式以匹配您的数据库命名约定。
希望我正确理解您的要求。
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |