0

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 を文字列に変換すると、常に [] になります。

4

1 に答える 1

2

関数を混合しています:

$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);

mysqliクエリを作成するため、バージョンでmysqli_fetch_assocはなく結果を取得する必要があります。mysql_

于 2013-04-21T19:26:48.620 に答える