0

dojo ajax関数を使用してPHPファイルを呼び出し、DBテーブルの内容をJSON形式で返すことを試みています。

私の機能:

 var _getWeatherInfo = function(){
     dojo.xhrget({

         url: "PHP/weather.php?ntown=" + _ntown,

         handleAs: "json",
         timeout: 5000,

         load: function(responce, details) {
            _updateWeathertData 
         },          
         error: function(error_msg, details) {
             _handleError(error_msg);
         }
     });
 }

私のPHP:

<?php include('configHome.php'); ?>

<?php
    $ntown = $_GET['ntown'];

    $weather = array();

    $query="SELECT * FROM `weather` WHERE `town` = '$ntown'";
    $result=mysql_query($query);

    while($row = mysql_fetch_row($result)) {

        $weather[] = $row[0];
    } 

    echo json_encode($weather);

    mysql_close();
?>

このコードを使用すると、「$ntown = $_GET['ntown'];」というエラー メッセージが表示されます。未定義のインデックスです。インデックスをまとめて削除し、select ステートメントで実際の値を使用しようとしましたが (つまり、SELECT * FROM weatherWHERE town= 'Auckland')、返されるのは ["Auckland"] に入力した値だけであり、他の 3 つの値ではありません。 ["Auckland", "Sunny", "8", "14"].

何か案は?必要に応じて、さらに情報を追加してみてください。ありがとう!

4

1 に答える 1

0

コードには他にもいくつかの問題がありますが、質問している問題に到達するためです。あなたはこれを持っています:

while($row = mysql_fetch_row($result)) {
    $weather[] = $row[0];
}

あなたがやっていることは、行の最初の値を取得することです(おそらく1つしかないため、それを送り返すだけです。これが必要なものです:

$weather = mysql_fetch_row($result);
于 2013-03-25T21:14:52.047 に答える