【问题标题】:Closest Location SQL query in PHPPHP中最近的位置SQL查询
【发布时间】:2012-01-02 14:28:46
【问题描述】:

大家好,我正在寻找一种方法来通过从 php 页面查询 MYSQL 数据库来计算最近的位置。到目前为止,我在 PHP 中有一个函数,它使用 Haversine 公式来计算最近的位置,我使用 PHP 函数的唯一原因只是为了理解公式本身。现在我正在寻找一种查询数据库的方法,该数据库将包含最近位置的纬度和经度值。我希望通过将我的 php 页面上的 lat 和 long 值与数据库中的所有 lat 和 long 值进行比较来做到这一点。我一直在看Googles tutorial。但我不太了解他们使用的 sql 查询。

$query = sprintf("SELECT address, name, lat, lng, ( 3959 * acos( cos( radians('%s') ) *
cos( radians( lat ) ) * cos( radians( lng ) - radians('%s') ) + sin( radians('%s') ) * 
sin( radians( lat ) ) ) ) AS distance FROM markers HAVING distance < '%s' 
ORDER BY distance LIMIT 0 , 20",

查询中的距离是什么意思?因为我自己尝试过使用这个查询,但它没有返回任何结果。如果有人能帮助我理解这个查询,将不胜感激。

【问题讨论】:

标签: php sql location


【解决方案1】:

问题是我遇到的是字段名称有 '' 字符,例如cos( radians( 'lat' ) 应该是 cos( radians( lat )

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-30
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 2017-09-07
    • 1970-01-01
    相关资源
    最近更新 更多