特定の日に最も多くのツイートを受け取った 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 カテゴリとして配置されます。そして、両方のアーティストの tweetAmount をデータ入力に入れ、両方の線を作成します。
問題は:
アーティスト 1 は 2013 年 4 月 6 日、2013 年 8 月 4 日、2013 年 4 月 10 日のデータを持っています アーティスト 2 は 2013 年 7 月 4 日、2013 年 8 月 4 日、2013 年 9 月 4 日、2013 年 4 月 10 日のデータを持っています(実際に私のデータベースにある毎日)
アーティスト 2 のデータは 07-04-2013 で 06-04-2013 になります (その値が最初に来るため) アーティスト 1 と 2 は、カテゴリ 07-04-2013 の下に 08-04-2013 を持ちます。これは 2 番目に利用可能な日付であるためです.
などなど
日付配列を使用してツイート数の配列を修正し、欠落しているすべての日付に 0 が割り当てられるようにして、行が日付で正しいままになるようにすることは可能ですか?