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 Plot chart无法使用JSON数据PHP_Javascript_Php_Jquery - Fatal编程技术网

Javascript Plot chart无法使用JSON数据PHP

Javascript Plot chart无法使用JSON数据PHP,javascript,php,jquery,Javascript,Php,Jquery,如何在图表中正确显示来自JSON的数据?因为我尝试的方式不起作用。 要在图形上显示的数据格式必须是[[键,值]],如果我这样放置静态数据,它会工作: data: [ ["Jan", 1], ["Fev", 2], ["Mar", 3], ["Abr", 4], ["Mai", 5], ["Jun", 6], ["Jul", 6], ["Ago", 6], ["Set", 6], ["Out", 6], ["N

如何在图表中正确显示来自JSON的数据?因为我尝试的方式不起作用。 要在图形上显示的数据格式必须是[[键,值]],如果我这样放置静态数据,它会工作:

data: [
    ["Jan", 1],
    ["Fev", 2],
    ["Mar", 3],
    ["Abr", 4],
    ["Mai", 5],
    ["Jun", 6],
    ["Jul", 6],
    ["Ago", 6],
    ["Set", 6],
    ["Out", 6],
    ["Nov", 6],
    ["Dez", 6],   
]
但是,如果我发送json,它将不起作用:

{"data":{"Jan":"0","Fev":"0","Mar":"1","Abr":"0","Mai":"9","Jun":"4","Jul":"0","Ago":"0","Set":"0","Out":"0","Nov":"0","Dez":"0"}}
这是加载图形的javascript代码:

$.ajax({
    url: path + 'admin/chart/get_user_twelve_months',
    type: 'GET',
    dataType: 'json',
    success: function (response) {
        console.log(response.data);

        var flotDashSales1Data = [{
            data: [
                response.data
            ],
            color: "#2baab1"
        }];

        var flotDashSales1 = $.plot('#chart_user_twelve_months', flotDashSales1Data, {
            series: {
                lines: {
                    show: true,
                    lineWidth: 2
                },
                points: {
                    show: true
                },
                shadowSize: 0
            },
            grid: {
                hoverable: true,
                clickable: true,
                borderColor: 'rgba(0,0,0,0.1)',
                borderWidth: 1,
                labelMargin: 15,
                backgroundColor: 'transparent'
            },
            yaxis: {
                min: 0,
                color: 'rgba(0,0,0,0.1)'
            },
            xaxis: {
                mode: 'categories',
                color: 'rgba(0,0,0,0)'
            },
            legend: {
                show: false
            },
            tooltip: true,
            tooltipOpts: {
                content: '%x: %y',
                shifts: {
                    x: -30,
                    y: 25
                },
                defaultTheme: false
            }
        });
    }
});
如果需要,json来自PHP

    public function get_user_twelve_months()
    {
        $current_year = date('Y');
        $responseseries = array();

        for ($i = 1; $i <= 12; $i++) {
            $query = "SELECT count(id_user) AS total FROM user
WHERE YEAR(created_at) = {$current_year} AND MONTH(created_at) = {$i}";

            $result = $this->db->query($query)->result()[0];
            $total = ($result->total) ? $result->total : "0";

            $month_name = get_month_name($i);
            $responseseries['data'][$month_name] = $total;
        }


        $json = json_encode($responseseries);
        return $json;
    }
公共函数获取用户十二个月()
{
$current_year=日期('Y');
$responseseries=array();
对于($i=1;$i db->query($query)->result()[0];
$total=($result->total)?$result->total:“0”;
$month\u name=get\u month\u name($i);
$responseseries['data'][$month\u name]=$total;
}
$json=json_encode($responseseries);
返回$json;
}

你发送
对象
,但如果我理解正确,你需要
数组数组
。所以我必须转换json@fen1x?是的。试试这个
对象。键(obj)。映射((键)=>[key,Number(obj[key]))
。哇,成功了,谢谢!