EOM ); foreach ([ '計', '男性', '女性', '勝利', '平均スコア', '最大スコア', ] as $name) { fwrite($fp, "\n"); } fwrite($fp, "\n". "\n"); foreach ($stat as $k => $s) { $name_link = "{$s['name']}"; fwrite($fp, << EOM ); } fwrite($fp, "
$name${name}
$name_link {$s['total_count']} {$s['male_count']} {$s['female_count']} {$s['winner_count']} {$s['average_score']} {$s['max_score']}
\n". "\n"); } function print_realm_popularity_table($fp, $stat, $id_name) { // 魔法領域の統計を職業ごとにグループ分け $class_ids = array_unique(array_column($stat, "class_id")); $class_realm_stat_list = array_fill_keys($class_ids, []); foreach ($stat as $s) { $class_realm_stat_list[intval($s["class_id"])][] = $s; } fwrite($fp, "
"); // 職業ごとにテーブルを表示 foreach ($class_realm_stat_list as $class_id => $class_realm_stat) { if (count($class_realm_stat) <= 1) continue; // 領域固定の職業は飛ばす $class_name = $class_realm_stat[0]['class_name']; fwrite($fp, << {$class_name} EOM ); foreach ([ '計', '男性', '女性', '勝利', '平均スコア', '最大スコア', ] as $th_name) { fwrite($fp, "${th_name}\n"); } fwrite($fp, "\n". "\n"); foreach ($class_realm_stat as $realm) { $name_link = "{$realm['realm_name']}"; fwrite($fp, << $name_link {$realm['total_count']} {$realm['male_count']} {$realm['female_count']} {$realm['winner_count']} {$realm['average_score']} {$realm['max_score']} EOM ); } fwrite($fp, "\n"); } fwrite($fp, "
\n"); } $db = new ScoreDB(); $time_start = microtime(true); $statistics = $db->get_statistics_tables('total_count'); $query_time = microtime(true) - $time_start; $wt = new WebTemplate(); $wt->add_head_contents(''); $wt->add_head_contents(''); $wt->add_head_contents(''); $wt->add_head_contents( << EOM ); $wt->add_head_contents(''); $wt->add_head_contents(''); $wt->set_title("変愚蛮怒 スコアランキング 人気のある種族・職業・性格・魔法領域"); $fp = $wt->main_contents_fp(); fwrite($fp, "

人気のある種族・職業・性格・魔法領域

\n"); //fprintf($fp, "(%.2f 秒)", $query_time); fwrite($fp, <<[ 種族 | 職業 | 性格 ] [ 魔法領域1 | 魔法領域2 ] EOM ); print_popularity_table($fp, $statistics['race'], 'race_id', "種族"); print_popularity_table($fp, $statistics['class'], 'class_id', "職業"); print_popularity_table($fp, $statistics['personality'], 'personality_id', "性格"); print_realm_popularity_table($fp, $statistics['realm1'], 'realm_id1'); print_realm_popularity_table($fp, $statistics['realm2'], 'realm_id2'); $wt->print_page();