5) { sleep(1); header("Location:" . $WebSite . "login/login_form.php"); exit; } include $_SERVER['DOCUMENT_ROOT'] . '/load_header.php'; $title_message = '현설(탈락,유찰,낙찰) 통계'; $title_prefix = '현설(탈락,유찰,낙찰) 통계자료'; ?> <?= $title_prefix ?> <?= $title_message ?> prepare($sql); $stmh->bindValue(':fromdate', $fromdate); $stmh->bindValue(':todate', $todate); $stmh->execute(); $rows = $stmh->fetchAll(PDO::FETCH_ASSOC); // 시공사별 데이터 가공 $data = []; foreach ($rows as $row) { $company = $row['secondord'] . '(' . $row['secondordnum'] . ')'; // 시공사 코드 $result = $row['siteresult']; // 낙찰/유찰/탈락 $count = $row['count']; if (!isset($data[$company])) { $data[$company] = ["탈락" => 0, "유찰" => 0, "낙찰" => 0]; } $data[$company][$result] = (int) $count; } // JSON 변환 $chartData = []; foreach ($data as $company => $values) { $chartData[] = [ "name" => $company, "data" => [$values["탈락"], $values["유찰"], $values["낙찰"]] ]; } $jsonChartData = json_encode($chartData, JSON_UNESCAPED_UNICODE); } catch (PDOException $Exception) { die("오류: " . $Exception->getMessage()); } // echo '
';
// print_r($data);
// echo '
'; // 기존 집계 결과($data)를 이용해 각 시공사의 비율 데이터 계산 $rateChartData = []; foreach ($data as $company => $values) { $total = array_sum($values); if ($total > 0) { $failure_rate = round($values["탈락"] / $total * 100, 2); $bidding_fail_rate = round($values["유찰"] / $total * 100, 2); $win_rate = round($values["낙찰"] / $total * 100, 2); } else { $failure_rate = $bidding_fail_rate = $win_rate = 0; } $rateChartData[] = [ "name" => $company, "data" => [$failure_rate, $bidding_fail_rate, $win_rate] ]; } $jsonRateChartData = json_encode($rateChartData, JSON_UNESCAPED_UNICODE); // 기존 집계 결과($data)를 이용해 각 시공사의 비율 데이터 계산 (개별 차트용) $companyCharts = []; foreach ($data as $company => $values) { $total = array_sum($values); if ($total > 0) { $failure_rate = round($values["탈락"] / $total * 100, 2); $bidding_fail_rate = round($values["유찰"] / $total * 100, 2); $win_rate = round($values["낙찰"] / $total * 100, 2); } else { $failure_rate = $bidding_fail_rate = $win_rate = 0; } $companyCharts[$company] = [ "name" => $company, // 시공사 코드 또는 시공사명을 저장 (원하는 값으로 수정 가능) "data" => [$failure_rate, $bidding_fail_rate, $win_rate] ]; } $jsonCompanyCharts = json_encode($companyCharts, JSON_UNESCAPED_UNICODE); ?>
기간  
기간 설정
  ~    
시공사별 입찰 결과 건수 및 비율
$values): ?>
시공사 탈락 건수 탈락 비율 (%) 유찰 건수 유찰 비율 (%) 낙찰 건수 낙찰 비율 (%) 총 건수
0 ? round($values["탈락"] / $total * 100, 2) : 0 ?>% 0 ? round($values["유찰"] / $total * 100, 2) : 0 ?>% 0 ? round($values["낙찰"] / $total * 100, 2) : 0 ?>%
시공사별 입찰 결과 통계
시공사별 입찰 결과 비율 (%)
시공사별 입찰 결과 비율 (개별 차트)
$chartData): ?>