Highcharts:比较2行与不同日期

时间:2013-04-11 16:43:11

标签: date highcharts

我正在比较特定日期收到最多推文的2位Twitter用户,并将其放在Highcharts的折线图中,我有以下mysql代码:

<?php 

require('mysql_connect.php');

$artist1 = $_POST['dj1'];
$artist2 = $_POST['dj2'];
$dates_result = mysqli_query($con,"SELECT DISTINCT(tweetDate) FROM tb_tweetDetails");
while ($row = mysqli_fetch_array($dates_result)) {
$dates[] = $row['tweetDate'];
}
$artist1_tweetsADay_result =    mysqli_query($con,"SELECT tweetDate,COUNT('tweetIds') AS 'amountTweets' FROM tb_tweetDetails WHERE tweetId IN 
                            (SELECT tweetId FROM tb_tweetLink LEFT JOIN tb_artists ON 
                            (tb_tweetLink.artistId = tb_artists.artistId) where artistName = '$artist1') GROUP BY tweetDate");
while ($row = mysqli_fetch_array($artist1_tweetsADay_result)) {
$artist1_tweetsADay_date[] = "'" . $row['tweetDate'] . "'";
$artist1_tweetsADay_amount[] = $row['amountTweets'];
}
$artist1_tweetsADay_result =    mysqli_query($con,"SELECT tweetDate,COUNT('tweetIds') AS 'amountTweets' FROM tb_tweetDetails WHERE tweetId IN 
                            (SELECT tweetId FROM tb_tweetLink LEFT JOIN tb_artists ON 
                            (tb_tweetLink.artistId = tb_artists.artistId) where artistName = '$artist2') GROUP BY tweetDate");
while ($row = mysqli_fetch_array($artist1_tweetsADay_result)) {
$artist2_tweetsADay_date[] = "'" . $row['tweetDate'] . "'";
$artist2_tweetsADay_amount[] = $row['amountTweets'];
}


?>

我用这个来收集我收集的推文数据的所有可用日期(所以也从其他2位艺术家那里收集)

然后我获得当天用户收到的推文数量以及日期。 这一切都很好用,输出就像我预期的那样。

现在,当我把它放在图表中时,我将日期数组作为xAxis Categories。 并将两个艺术家的tweetAmount放在数据输入中以创建两行。

问题是:

艺术家1的数据发布于06-04-2013,08-04-2013&amp; 2013年10月4日 艺术家2的数据为07-04-2013,08-04-2013,09-04-2013&amp; 10-04-2013(所以每天都在我的数据库中)

艺术家2将于2013年4月6日在2013年4月7日获得他的数据(因为该值是第一位的) 艺术家1&amp; 2有08-04-2013在类别07-04-2013之下,因为这是第二个可用日期。

等。等

我是否有可能使用日期数组来修复推文数量的数组,以便每个丢失的日期都分配0,以便该行与日期保持一致。

1 个答案:

答案 0 :(得分:0)

我要做的两件事是:

1)使用日期时间x轴

2)从表中提取数据时,除了已经构建的数组外,还要创建一个返回的每个日期的数组。循环遍历日期数组,并为每个日期检查各个数组的值。如果不存在任何值,请创建它。

然后,您将拥有两个具有相同日期的数组,您可以在日期时间轴上绘制它们,而不必担心类别索引匹配。