必要なのは、課題 ID を取得し、ユーザーが送信した賛成票を時間単位で追跡することです。PHPExcel のグラフ作成の目的で配列からデータを首尾一貫して取得しようとすると、壁にぶつかります。
最終的に、この $hourlyUpvotesTodayResult[] 配列は、1 時間ごとに正しい投票数 (print_r で検証) を持ちますが、「問題 ID ごとに、時間 0 ~ 24 および各時間の総投票数". たぶん私はそれを考えすぎて、単純なものを見逃しています。
また、古い MySQL は無視してください - 私はいくつかの既存のコードに取り組んでおり、それが非推奨であることを知っており、いつか更新するつもりです :D
while ($todayInfoRow = mysql_fetch_array($todayInfoQuery))
{
$issue_entry_id_today = array($todayInfoRow['issue_entry_id']);
foreach ($issue_entry_id_today as $issue_entry_id_today)
{
$todayInfoUpvotes = "SELECT id from $db.$tb2 WHERE date = '".$date."' and issue_entry_id = '".$issue_entry_id_today."' ORDER BY issue_entry_id DESC";
$todayInfoUpvotesQuery = mysql_query($todayInfoUpvotes)or die(mysql_error());
$todayInfoUpvotesRow = mysql_num_rows($todayInfoUpvotesQuery);
$todayInfoResult = array($issue_entry_id_today, $todayInfoUpvotesRow);
}
// get votes for individual hours for today
for ($hour_today=0; $hour_today<25; $hour_today++)
{
$hourlyUpvotesToday = "SELECT id from $db.$tb2 WHERE date = '".mysql_real_escape_string($date)."' AND issue_entry_id = '".$issue_entry_id_today."' AND hour = '".$hour_today."' ORDER BY issue_entry_id DESC";
$hourlyUpvotesTodayQuery = mysql_query($hourlyUpvotesToday)or die(mysql_error());
$hourlyUpvotesTodayRow = mysql_num_rows($hourlyUpvotesTodayQuery);
$hourlyUpvotesTodayResult[] = array('id'=>$issue_entry_id_today, 'upvotes'=>$hourlyUpvotesTodayRow, 'hour'=>$hour);
}
}
//debug print array
print_r($hourlyUpvotesTodayResult);