0

列の合計を取得して JSON で解析しようとしています。

私が使用する合計を取得するには:

SELECT SUM(price) FROM `Fuelconsumption` WHERE `date` like '%09-2012%'

このコマンドを SQL Server で直接使用すると、Figure の結果が得られますが、JSON で解析しようとすると機能しません。

これが私のJSONとPHPコードです:

case 'getstats':

                    $query="SELECT SUM(price) FROM `Fuelconsumption` WHERE `date` like '%09-2012%'";
                    $result = mysql_query($query);

                    $json = array();
                        while($row = mysql_fetch_array($result))
                        {
                                $json['price']=$row['price'];
                        }
                        print json_encode($json);
                    mysql_close();
    break;

そして、これは私のJSです:

xmlhttp = new XMLHttpRequest()

xmlhttp.onreadystatechange = function () {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        var jsontext = xmlhttp.responseText;
        var json = JSON.parse(jsontext);



        console.log(jsontext)



    }
}

xmlhttp.open("GET", "mysql.php?p=getstats" + "&date=09-2012", true);
xmlhttp.send();
4

3 に答える 3

2

試す

$query="SELECT SUM(price) AS price FROM `Fuelconsumption` WHERE `date` like '%09-2012%'";

それ以外の

$query="SELECT SUM(price) FROM `Fuelconsumption` WHERE `date` like '%09-2012%'";

また、名前が jQuerybeast なのに、なぜ jQuery ではなく通常の Javascript を使用して Ajax リクエストを作成しているのですか? :P

于 2012-11-20T11:34:49.650 に答える
1

これは、価格の合計の列が $row の価格ではなく、sum(price) となるためです。名前を確認したい場合は、エイリアスに対応するように SQL を次のように変更します。

SELECT SUM(price) AS sum_of_price FROM `Fuelconsumption` WHERE `date` like '%09-2012%'

として使用し$row['sum_of_price']ます。

于 2012-11-20T11:37:04.950 に答える
-1

クエリを次のように変更してみてください。

SELECT SUM(price) price
FROM `Fuelconsumption` 
WHERE `date` like '%09-2012%'
于 2012-11-20T11:36:42.160 に答える