function &main() { // DB接続 $db = new AlladinMySQL(DATABASE2_HOST, DATABASE2_USER, DATABASE2_PASS, DATABASE2_NAME); $db->open(); // 案件情報リストを取得 $list =& getAnkenList($db); // 案件ごとに処理 foreach ($list as $key => $anken) { // 締め日区切りの集計データを取得 $data =& getSummaryDataGroupByShimebi($db, $anken); // 案件ごとの集計データを合計する foreach ($data as $year => $monthList) { foreach ($monthList as $month => $d) { // 対象月 $key = "{$year}年{$month}月"; // 売上 $total[$key]['input'] += intval($d['input']); // 支払金額 $total[$key]['output'] += intval($d['output']); } } } // DB切断 $db->close(); // 新しい月がファイルの上に来る様にソートする krsort($total); // ファイル出力 $path = ABS_DATA . 'top_summary.csv'; $fp = fopen($path, 'w'); foreach ($total as $k => $d) { // 配列に変換 $a = array(); // 計上月 $a[] = $k; // 成果金額 $a[] = $d['input']; // 調整金額 $a[] = 0; // 報酬金額 $a[] = $d['input']; // 計上月 $a[] = $k; // 報酬金額 $a[] = $d['output']; // 繰越金 $a[] = 0; // 支払い合計 $a[] = $d['output']; // ファイルに書き込む fputcsv($fp, $a); } // ファイルを閉じる fclose($fp); }
$term = $year . $month; } else { // 週間 $from = date("Y-m-d", strtotime("-1 week")); $to = date("Y-m-d", strtotime("-1 day")); $unit = "週間"; $term = str_replace("-", "", $from) . "-" . str_replace("-", "", $to); } // 集計範囲設定 $param = array("{$from} 0:00:00", "{$to} 23:59:59"); //------------------------------------------- // 集計値取得 //------------------------------------------- // DB接続 $db = new AlladinMySQL(DATABASE1_HOST, DATABASE1_USER, DATABASE1_PASS, DATABASE1_NAME); $db->open(); // 総アクセス件数取得 $totalAccess = $db->query($totalAccessSql, $param); // 平均値取得 $average = $db->query($averageSql, $param); // 1日最高値取得(access) $dayMaxAccess = $db->query($dayMaxAccessSql, $param); // 1日最高値取得(traffic) $dayMaxTraffic = $db->query($dayMaxTrafficSql, $param); // 1日最高値取得(web_cpu) $dayMaxWebCpu = $db->query($dayMaxWebCpuSql, $param); // 1日最高値取得(db_cpu) $dayMaxDbCpu = $db->query($dayMaxDbCpuSql, $param); // 時間別最高値取得 $hourMaxList = $db->query($hourMaxSql, $param); // DB切断