Javascript 我需要为Flot图表插件的值JSON格式
我想从mysql数据库中获取数据,使用Flot插件将其放入图表中,根据数据格式是一个点数组: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
[[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))代码>