Highcharts & Mysql [关闭]
Posted
技术标签:
【中文标题】Highcharts & Mysql [关闭]【英文标题】:Highcharts & Mysql [closed] 【发布时间】:2011-04-12 23:23:26 【问题描述】:我需要有关此代码的帮助,我设法从 mysql 数据库中提取数据并将它们转换为 Highcharts 所需的格式。
<?php
$query =mysql_query("select
date_format(connect_time,'%Y-%m-%d %H %i') AS date,
Customers.name as customer,
Sum(duration) as secondes
from CDR_Vendors
inner join Customers on (CDR_Vendors.i_customer = Customers.i_customer)
where
i_vendor='32'
and
connect_time between '2010-09-01 00:00:00' and '2010-09-01 00:10:00'
group by date
ORDER BY date", $link) or die(mysql_error());
$row = mysql_fetch_assoc($query);
$customer[] = $row['customer'];
$json_secondes = array();
$json_date = array();
do
$secondes[] = $row['secondes'];
array_push($json_secondes, $row['secondes']);
array_push($json_date, $row['date']);
while($row = mysql_fetch_assoc($query));
//echo json_encode($json_secondes,$row);
//echo json_encode($json_date,$row);
//echo join($secondes, ', ');
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highcharts Example</title>
<!-- 1. Add these javascript inclusions in the head of your page -->
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript" src="../js/highcharts.js"></script>
<!-- 1a) Optional: the exporting module -->
<script type="text/javascript" src="../js/modules/exporting.js"></script>
<!-- 2. Add the JavaScript to initialize the chart on document ready -->
<script type="text/javascript">
var chart;
$(document).ready(function()
chart = new Highcharts.Chart(
chart:
renderTo: 'container',
defaultSeriesType: 'column'
,
title:
text: 'Monthly Average Rainfall'
,
subtitle:
text: 'Source: WorldClimate.com'
,
xAxis:
categories: <?php echo json_encode($json_date,$row);?>
,
yAxis:
min: 0,
title:
text: 'Rainfall (mm)'
,
legend:
layout: 'vertical',
backgroundColor: '#FFFFFF',
align: 'center',
verticalAlign: 'top',
x: 100,
y: 70
,
tooltip:
formatter: function()
return ''+
this.x +': '+ this.y +' Min';
,
plotOptions:
column:
pointPadding: 0.2,
borderWidth: 0
,
series: [
name: '<?php echo join($customer, ', ');?>',
data: [<?php echo join($secondes, ', ');?>]
]
);
);
</script>
</head>
<body>
<!-- 3. Add the container -->
<div id="container" style="width: 1300px; height: 500px; margin: 0 auto"></div>
</body>
</html>
此代码的问题在于它只显示来自单个客户的数据,因此查询返回来自多个客户的数据。
这个方法好还是有其他更简单的方法?
【问题讨论】:
您的代码是否只显示查询列表中的最后一个客户? 是的,你知道如何解决这个问题吗? 【参考方案1】:尝试使用implode(', ', $customer);
和implode(', ', $secondes);
而不是join
函数。
【讨论】:
【参考方案2】:你可以检查一下:
Create a CSV File for a user in PHP
我希望这对你的 CSV 有帮助
【讨论】:
以上是关于Highcharts & Mysql [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP/MySQL 的 highcharts 的 Json 结构