我使用php创建一个网站,我有一个仪表板。在我的仪表板中,我有一个图表,我使用Highcharts来渲染我的数据。我在显示数据时遇到问题。是的我可以在Highcharts中显示数据,但我无法正确显示。 我想我的查询有问题。
正如您在我的信息中心中看到的那样。 2017年8月1日是最新日期,但其位置较旧。现在我想要的是最新日期是在前面或者更早的日期之前。
这是我的问题:
<?php
require_once('includes/database.php');
$stmt = mysqli_prepare($con, "SELECT date_format(entry_date, '%d-%b-%y')
as pDate, sum(doc_count) as pAmount FROM report_details GROUP BY pDate
DESC");
$result = array('day' => array(), 'amount' => array());
if ($stmt) {
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $day, $amount);
while (mysqli_stmt_fetch($stmt)) {
$result['day'][] = $day;
$result['amount'][] = (int)$amount;
}
mysqli_stmt_close($stmt);
}
?>
这是我的Highcharts:
<script type="text/javascript">
window.onload = function () {
var chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
backgroundColor: {
linearGradient: [0, 0, 500, 500],
stops: [
[0, 'rgb(38,50,56)'],
[1, 'rgb(84,110,122)']
]
},
type: 'line',
borderColor: '#37474f',
borderWidth: 2,
},
title: {
text: 'Document Saved Per day',
style:{
font: 'bold 25px "Trebuchet MS", Verdana, sans-serif',
color: 'white'
}
},
xAxis: {
max:13,
categories: <?php echo json_encode($result['day']) ?>,
crosshair: true,
labels: {
style: {
color: 'white',
font: 'bold 13px "Trebuchet MS", Verdana, sans-serif'
}
}
},
yAxis: {
min:0,
max:100,
labels: {
style: {
color: 'white',
fontSize: '15px'
}
},
gridLineColor: 'white',
title: {
text:'Documents',
style: {
color:'white',
font: 'bold 20px "Trebuchet MS", Verdana, sans-serif'
}
}
},
plotOptions: {
column: {
pointPadding: 0.2,
borderWidth: 0
}
},
series: [{
color: '#85DEFC',
name: 'Documents',
data: <?php echo json_encode($result['amount']) ?>
}]
});
};
</script>
答案 0 :(得分:1)
我得到了答案。我认为这很困难但不是。
这是我的回答:
<?php
require_once('includes/database.php');
$stmt = mysqli_prepare($con, "SELECT date_format(entry_date, '%d-%b-%y'),
sum(doc_count) as pAmount FROM report_details GROUP BY entry_date
DESC");
$result = array('day' => array(), 'amount' => array());
if ($stmt) {
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt, $day, $amount);
while (mysqli_stmt_fetch($stmt)) {
$result['day'][] = $day;
$result['amount'][] = (int)$amount;
}
mysqli_stmt_close($stmt);
}
?>
我删除别名&#39; pDate&#39;并使用了&#39; entry_date&#39;我的查询,它适用于我。