gpt4 book ai didi

php - 来自 MySQL/PHP 的 Highcharts 数据

转载 作者:行者123 更新时间:2023-11-30 00:30:08 26 4
gpt4 key购买 nike

我正在尝试为我的 Highcharts 图表构建数据,但当某一天没有行时我遇到了麻烦。

即我想要一个图表来显示本周每天的查询。如果周三没有收到询问,那么我的图表中就缺少这一天,或者周四的数据落入周三,这是错误的,具体取决于我的操作。

我有 SQL:

$W = date('W');
$Y = date('Y');
$SQL = "SELECT DATE_FORMAT(enquiries.dateCreated, '%a') AS name, COUNT(*) AS y
FROM enquiries
WHERE WEEK(enquiries.dateCreated, 1) = $W
AND YEAR(enquiries.dateCreated) = $Y
GROUP BY DAY(enquiries.dateCreated)";
$result = $this->db->prepare($SQL);
$result->execute();
return $result->fetchAll(PDO::FETCH_ASSOC);

我当前尝试将其放入一个不起作用的数组中:

$enquiries = $this->model->enquiriesTime();

$dayData = array();
for ($i = 0; $i != 5; $i++) {
if ($enquiries[$i]['name'] == 'Mon' || $enquiries[$i]['name'] == 'Tue' || $enquiries[$i]['name'] == 'Wed' || $enquiries[$i]['name'] == 'Thu' || $enquiries[$i]['name'] == 'Fri') {
$dayData[$i] = $enquiries[$i]['y'];
} else {
$dayData[$i] = '0';
}
}

当一天不存在时,0 会添加到数组末尾,而不是像它应该的那样添加索引 2(星期三),因此星期三的结果实际上是星期四。

如何才能使其正常工作?

<小时/>

这是 JS:

function createActivityChart() {

$.ajax({
url: ROOT + 'Ajax',
data: {
call: 'lists->enquiriesTime'
},
dataType: 'json',
type: 'POST',
async: true,
success: function(returned) {
$('#enquiriesChart').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Weekly activity chart'
},
xAxis: {
categories: [
'Mon',
'Tue',
'Wed',
'Thu',
'Fri'
]
},
yAxis: {
min: 0,
title: null,
stackLabels: {
enabled: true,
style: {
fontWeight: 'bold',
color: (Highcharts.theme && Highcharts.theme.textColor) || 'gray'
}
}
},
tooltip: {
headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}: </td>' +
'<td style="padding:0"><b>{point.y:.0f}</b></td></tr>',
footerFormat: '</table>',
shared: true,
useHTML: true
},
plotOptions: {
column: {
stacking: 'normal',
dataLabels: {
enabled: false,
color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white',
style: {
textShadow: '0 0 3px black, 0 0 3px black'
}
}
}
},
series: returned
});
}
})
}

和 HTML 容器:

<div class="row-fluid">
<div class="span12">
<div class="gridData">
<div id="activityChart" style="min-width: 200px; height: 200px; margin: 0 auto"></div>
</div>
</div>
</div>

最佳答案

我用来避免您的问题的方法是创建包含所有 0 值的 highchart 数组,然后覆盖它们。这样您就可以确保不会留下任何数据。

关于php - 来自 MySQL/PHP 的 Highcharts 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22576197/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com