我的图表未显示完整数据。在底部是多个名称,但它表示“未定义”,在侧面它从-1.0开始然后上升到1.0。我可以在我的控制台中获取item_name和剩余部分,它已完成,它只是没有显示在我的图表中。 以下是我的代码:
MODEL
public function get_charts(){
$str="select
I.item_name,
I.stocked,
ifnull(dispensed,0) as dispensed,
COALESCE (I.Stocked, 0) - COALESCE (S.dispensed, 0) AS remaining
FROM
(
SELECT
item_name AS 'item_name',
SUM(amount) AS 'stocked'
FROM
com_inv
GROUP BY
item_name
) I
LEFT JOIN (
SELECT
item_name,
order_status,
SUM(amount) AS dispensed
FROM
sls_ordrs
WHERE
order_status = 'received'
GROUP BY
item_name
) S ON I.item_name = S.item_name;";
$query=$this->db->query($str);
return $query->result();
}
CONTROLLER
public function get_charts(){
$result=$this->commissary_model->get_charts();
print json_encode($result);
}
查看
var urlCharts="<?php echo site_url('commissary/get_charts');
?>";
$.ajax({
url:urlCharts,
method:"GET",
success:function(data){
console.log(data);
var item=[];
var remaining=[];
for(var i in data){
item.push(data[i].item_name);
remaining.push(data[i].remaining);
}
var chartdata={
labels: item,
datasets:[
{
label:'Remaining Items',
backgroundcolor:'rgba(200,200,200,0.75)',
borderColor:'rgba(200,200,200,0.75)',
hoverBackgroundColor:'rgba(200,200,200,1)',
hoverBorderColor:'rgba(200,200,200,1)',
data:remaining
}
]
};
var ctx=$("#mycanvas");
var barGraph = new Chart(ctx, {
type: 'bar',
data: chartdata
});
},
error:function(data){
console.log("data");
}
});
CONSOLE.LOG的样本
[{"item_name":"aaa","stocked":"23456","dispensed":"0","remaining":"23456"},{"item_name":"accumsan Curae","stocked":"889.74","dispensed":"123.5","remaining":"766.24"},{"item_name":"ad bibendum Donec","stocked":"659.12","dispensed":"0","remaining":"659.12"},{"item_name":"Aenean cursus","stocked":"169.63","dispensed":"0","remaining":"169.63"},{"item_name":"Aenean magna","stocked":"272.11","dispensed":"0","remaining":"272.11"}, ....etc...
你能告诉我我哪弄错了吗?谢谢。
答案 0 :(得分:0)
for循环看起来不正确
for(var i = 0; i < data.length; i++) {
item.push(data[i].item_name);
remaining.push(data[i].remaining);
}