Почему я не могу получить массив из этого запроса, используя PHP / MySQL и широту / долготу? - PullRequest
0 голосов
/ 08 марта 2012

У меня есть две таблицы, но для целей этого вопроса я буду использовать только одну. Я использую широту и долготу города, чтобы найти аэропорты в пределах 50 миль. Насколько я знаю, это работает, но я не могу поместить это в массив с помощью mysql_fetch_array ... Это что-то глупое или что-то маленькое ... это всегда кажется одним или другим. Попробовав несколько вещей, вот где я сейчас нахожусь с кодом:

<?php 
  require('dbconnect.php');
  //airports Table Columns
    //iata_code
    //airport_name
    //airport_name_clean
    //city_id
    //airport_lat
    //airport_long

$cityLat = "25.788969"; //Miami
$cityLong = "-80.226439"; //Miami
$distance = "10"; //miles?

$airportQuery = mysql_query("select airport_name, 
   ( 3959 * acos( cos( radians($cityLat) ) 
          * cos( radians( locations.lat ) ) 
          * cos( radians( locations.lng ) - radians($cityLong) ) 
          + sin( radians($cityLat) ) 
          * sin( radians( locations.lat ) ) ) ) AS distance 
from airports 
and locations.lat between X1 and X2 
and locations.Long between y1 and y2
having distance < $distance ORDER BY distance;
");

while($airports = mysql_fetch_array($airportQuery))
    {
        echo $airports['airport_name'] . "<br />";
    }

?>

Как всегда, любая помощь будет принята с благодарностью. Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 08 марта 2012

Ваш запрос выглядит подозрительно, я думаю, что у вас есть and, когда вы должны иметь where:

$airportQuery = mysql_query("select airport_name, 
   ( 3959 * acos( cos( radians($cityLat) ) 
          * cos( radians( locations.lat ) ) 
          * cos( radians( locations.lng ) - radians($cityLong) ) 
          + sin( radians($cityLat) ) 
          * sin( radians( locations.lat ) ) ) ) AS distance 
from airports 
WHERE locations.lat between X1 and X2 
and locations.Long between y1 and y2
having distance < $distance ORDER BY distance;
");

Вам следует проверить возвращаемое значение на наличие ошибок, которые также могут быть информативными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...