초기 커밋: 5130 레거시 시스템
- URL 하드코딩 → .env APP_URL 기반 동적 URL로 변경 - DB 연결 하드코딩 → .env 기반으로 변경 - MySQL strict mode DATE 오류 수정
This commit is contained in:
81
estimate/002.php
Normal file
81
estimate/002.php
Normal file
@@ -0,0 +1,81 @@
|
||||
<?php
|
||||
require_once($_SERVER['DOCUMENT_ROOT'] . "/session.php");
|
||||
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
|
||||
$pdo = db_connect(); // DB 연결 함수 호출
|
||||
|
||||
// 타임 리미트 설정
|
||||
set_time_limit(0);
|
||||
|
||||
// 출력 버퍼링 비활성화
|
||||
ob_implicit_flush(true);
|
||||
|
||||
// 디버깅을 위한 에러 출력 설정
|
||||
ini_set('display_errors', 1);
|
||||
ini_set('display_startup_errors', 1);
|
||||
error_reporting(E_ALL);
|
||||
|
||||
print 'slat 정보 업데이트 시작<br>';
|
||||
|
||||
try {
|
||||
// output 테이블에서 num, slatlist 컬럼 가져오기
|
||||
$output_sql = "SELECT num, slatlist FROM chandj.output";
|
||||
$output_stmt = $pdo->prepare($output_sql);
|
||||
$output_stmt->execute();
|
||||
$output_results = $output_stmt->fetchAll(PDO::FETCH_ASSOC);
|
||||
|
||||
$total_rows = count($output_results);
|
||||
$current_row = 0;
|
||||
|
||||
foreach ($output_results as $output_row) {
|
||||
$output_num = $output_row['num'];
|
||||
$slatlist_json = $output_row['slatlist'];
|
||||
$slatlist_data = json_decode($slatlist_json, true);
|
||||
|
||||
$slat = '0';
|
||||
$slat_su = 0;
|
||||
$slat_m2 = 0;
|
||||
|
||||
if (!is_null($slatlist_data) && !empty($slatlist_data)) {
|
||||
$slat = '1';
|
||||
foreach ($slatlist_data as $row_temp) {
|
||||
$number = (int)$row_temp["number"];
|
||||
$cutwidth = (int)$row_temp["cutwidth"];
|
||||
$cutheight = (int)$row_temp["cutheight"];
|
||||
|
||||
$slat_su += $number;
|
||||
$slat_m2 += $cutwidth / 1000 * $cutheight / 1000 * $number;
|
||||
}
|
||||
}
|
||||
|
||||
$slat_state = '제작완료';
|
||||
|
||||
// output 테이블 업데이트
|
||||
$update_sql = "UPDATE chandj.output
|
||||
SET slat = :slat, slat_state = :slat_state, slat_su = :slat_su, slat_m2 = :slat_m2
|
||||
WHERE num = :num";
|
||||
$update_stmt = $pdo->prepare($update_sql);
|
||||
$update_stmt->bindParam(':slat', $slat, PDO::PARAM_STR);
|
||||
$update_stmt->bindParam(':slat_state', $slat_state, PDO::PARAM_STR);
|
||||
$update_stmt->bindParam(':slat_su', $slat_su, PDO::PARAM_INT);
|
||||
$update_stmt->bindParam(':slat_m2', $slat_m2, PDO::PARAM_STR); // m2 값을 소수점으로 저장하기 위해 STR 사용
|
||||
$update_stmt->bindParam(':num', $output_num, PDO::PARAM_INT);
|
||||
|
||||
if (!$update_stmt->execute()) {
|
||||
echo "Error updating record for num $output_num: " . implode(", ", $update_stmt->errorInfo()) . "<br>";
|
||||
}
|
||||
|
||||
// 진행 상황 출력
|
||||
$current_row++;
|
||||
echo "Processed rows: $current_row<br>";
|
||||
if ($current_row % 100 == 0) {
|
||||
echo "Processed $current_row of $total_rows rows<br>";
|
||||
}
|
||||
}
|
||||
|
||||
echo "Finished processing all records.";
|
||||
} catch (PDOException $e) {
|
||||
echo "Error: " . $e->getMessage();
|
||||
}
|
||||
?>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user