选择半径内的点

时间:2013-07-18 21:59:29

标签: php javascript mysql

我正在构建一张地图,可以从用户的位置进行搜索,以查找附近的经销商。

我在理解如何在sql语句中使用变量时遇到一些麻烦。我使用javascript创建位置,然后发布坐标以使用php进行查询。我的代码在

之下
$sql = "SELECT dealer_name, phone, street_number, route, locality, administrative_area_level_1, postal_code, website, latitude, longitude, ( 3959 * acos( cos( radians('".latitude."') ) * cos( radians( lat ) ) * cos( radians( lng ) - radians('".longitude."') ) + sin( radians('".latitude."') ) * sin( radians( lat ) ) ) ) AS distance FROM dealers WHERE distance < '".miles."' ORDER BY distance LIMIT 0 , 10";

这是我分配位置变量的地方

navigator.geolocation.getCurrentPosition(function(position) {

    latitude = position.coords.latitude;
    longitude = position.coords.longitude;

1 个答案:

答案 0 :(得分:2)

用什么语言?您已经标记了JavaScript,但是就像上面提到的其中一条评论一样。我当然希望您不是在JavaScript中构建SQL。

您应该将参数传递给服务器端(可能是AJAX调用),然后根据您使用的语言,适当地构建SQL查询。

请参阅Java示例:http://www.mkyong.com/jdbc/jdbc-preparestatement-example-select-list-of-the-records/