簡體   English   中英

多維數組json_encoded

[英]Multidimensional array json_encoded

我試圖將日期和收入的多維數組作為JSon數組返回,以便在面板儀表板上顯示圖表。 不幸的是,當我不對JSon數組進行硬編碼時,圖表出現了一些問題,因此我現在正在對其進行調試,我想知道為什么我的json_encoded數組看起來如此奇怪。

這是我的面板,它繪制圖表並從data.php請求數據:

jQuery.getJSON("data.php", { request: "revenues" }, function (result) {
    var revenues = result["amount"];
    alert(revenues);
    $(".monthly-sales").sparkline(revenues, {
        type: 'bar',
        barColor: '#ff4e50',
        height: '55px',
        width: '100%',
        barWidth: 8,
        barSpacing: 1
    });
});

data.php:

elseif($request == "revenues"){
    // Output Revenues per day from nexus store
    $revenues = array();
    $revenues["dates"] = array();
    $revenues["amount"] = array();
    $sql = "select i_total as revenue, date(FROM_UNIXTIME(i_date)) as date FROM nexus_invoices WHERE i_status='paid' GROUP BY date(FROM_UNIXTIME(i_date)) ORDER BY i_date DESC LIMIT 0,10";
    $rows = $db->query($sql);
    foreach($rows as $row){
        $revenues["dates"][] = $row['date'];
        $revenues["amount"][] = floatval($row['revenue']);
    }
    //$revenues["amount"] = [1,5,5.5,5.4,5.8,6,8,9,13,12,10,11.5,9,8,5,8,9];
    echo json_encode($revenues);
}

這段代碼的JSon結果是我所期望的:

{
    "dates":[
        "2015-06-13","2015-06-12","2015-06-10","2015-06-09","2015-06-07",
        "2015-06-06","2015-06-05","2015-06-04","2015-06-02","2015-05-31"
    ],
    "amount":[8,22,8,8,22,8,8,8,8,8]
}

不幸的是,由於未知原因,這行不通。 為了進一步調試它,我取消了對$revenues["amount"]進行硬編碼的行的注釋,並注釋了foreach的第二行。 然后工作正常。 此json_encoded回顯的結果是這樣的:

{
    "dates":[
        "2015-06-13","2015-06-12","2015-06-10","2015-06-09","2015-06-07",
        "2015-06-06","2015-06-05","2015-06-04","2015-06-02","2015-05-31"
    ],
    "amount":[1,5,5.5,5.4,5.8,6,8,9,13,12,10,11.5,9,8,5,8,9]
}

硬編碼數組時的外觀: 在此處輸入圖片說明

從數據庫中填充數組時的外觀: 在此處輸入圖片說明

我認為您的問題不在json數組中,而是在sparkline插件中。

在顯示數據庫數據時嘗試添加以下內容: chartRangeMin:5

$(".monthly-sales").sparkline(revenues, {
        type: 'bar',
        barColor: '#ff4e50',
        height: '55px',
        width: '100%',
        barWidth: 8,
        barSpacing: 1,
       chartRangeMin:5 
    });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM