JSON を介した PHP と JavaScript の相互作用に問題があります。
PHP スクリプトは、データベースからデータを読み取ります。SQL の結果は 1 行で構成されます。
名前 | 緯度 | 緯度 長い
キリアン | 45.1252335 | 32.2142380
JSON にエンコードされます。
$query = "SELECT name, lat, lng FROM location l, user u WHERE u.email = l.email";
$result = mysqli_query ($dbc, $query) or die ('Error querying database.');
$to_encode = array();
while($row = mysql_fetch_assoc($result)) {
$to_encode[] = $row;
}
echo json_encode($to_encode);
JavaScript プログラムは、php-script (get_locations.php) から JSON ファイルをロードします。
$.getJSON('get_locations.php', function (data) {
$.each(data, function(i, name) {
alert(name.parent_level);
});
});
しかし、ブラウザに警告はありません。送信された JSON を Chrome で検査すると、[] とだけ表示されます。送信された名前、緯度と経度を取得するにはどうすればよいですか?
編集: get_locations.php の実際の出力は [] です。JSON を文字列に変換すると、常に [] になります。