Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/237.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我需要为Flot图表插件的值JSON格式_Javascript_Php_Mysql_Ajax_Flot - Fatal编程技术网

Javascript 我需要为Flot图表插件的值JSON格式

Javascript 我需要为Flot图表插件的值JSON格式,javascript,php,mysql,ajax,flot,Javascript,Php,Mysql,Ajax,Flot,我想从mysql数据库中获取数据,使用Flot插件将其放入图表中,根据数据格式是一个点数组:[[x1,y1],[x2,y2],…]。在我的例子中,我希望获取日期和销售值并将其放入此数组中,因此我制作了以下内容: <?php $sql = "SELECT * from sales where YEAR(date)='2013'"; $res = mysql_query($sql); $return = []; while($row = mysql_fetch_array($res

我想从mysql数据库中获取数据,使用Flot插件将其放入图表中,根据数据格式是一个点数组:
[[x1,y1],[x2,y2],…]
。在我的例子中,我希望获取日期和销售值并将其放入此数组中,因此我制作了以下内容:

<?php 
 $sql = "SELECT * from sales where YEAR(date)='2013'";
 $res = mysql_query($sql);
 $return = [];

 while($row = mysql_fetch_array($res)){
    $return[] = [$row['date'],$row['amount']];
 }

 echo '{ "label": "Sales", "data":'. json_encode($return, JSON_UNESCAPED_UNICODE).'}';
?>
我尝试通过AJAX提供这些信息:

var sales;

    $.ajax({
        url: "scripts/sales.php",
        type: "GET",
        dataType: "json",
        success: function(resp)
        {
            sales = [$.trim(resp.data)];
            console.log(sales);
        }
    });
但不幸的是,我没有得到相同的格式,控制台的结果如下:

["2013-02-01,52,2013-03-01,40,2013-03-28,280"]
[["2013-02-01","52"],["2013-03-01","40"],["2013-03-28","200"]]
我想得到与此相同的格式:

["2013-02-01,52,2013-03-01,40,2013-03-28,280"]
[["2013-02-01","52"],["2013-03-01","40"],["2013-03-28","200"]]

我怎样才能修好它?我需要一些帮助。

尝试
json\u编码
将整个对象进行编码,而不是在PHP中将字符串与json\u编码连接起来:

echo json_encode(array("label" => "Sales", "data" => $return));
而不是

sales = [$.trim(resp.data)];
只需访问plain.data属性:

sales = resp.data;

尝试
json\u encode
对整个对象进行编码,而不是在PHP中将字符串与json\u encode连接起来:

echo json_encode(array("label" => "Sales", "data" => $return));
而不是

sales = [$.trim(resp.data)];
只需访问plain.data属性:

sales = resp.data;

resp.data
是一个两层嵌套的数组-不要使用将数组强制为字符串的方法<代码>相应数据正是您想要的$trim???为什么?
resp.data
是一个两层嵌套的数组-不要使用将数组强制为字符串的方法<代码>相应数据正是您想要的$trim???为什么?正确的句子是:
echo json_encode(数组(“标签”=>“销售”,“数据”=>$return))正确的句子是:
echo json_encode(数组(“label”=>“Sales”,“data”=>$return))