티스토리 뷰

반응형
작업공정이 '레이져', '절곡','용접','도장' 이렇게 4개 공정이 있다.
작업공정은 workprocess라는 변수를 사용한다. 각 공정은 '입고','출고',
'공정상태'의 기록을 배열로 저장하고 싶다.
'입고','출고'는 각 공장의 위치를 저장하는 text형태의 자료가 저장될 것이고, '공정상태'는 '대기', '완료'로 구분해서 저장할 것이다. php언어로 mysql 의 pdo를 사용해서 작성할 코드

$workprocess='설계→레이져3030→절곡1→용접→도장→외주→탭→샌딩→쇼트'; 위의 문자열이 작업진행순서인데, $workstate 변수에 '→'로 구분해서 넣어주고 추출된 배열에서 위의 코드와 결합해서 수정
json형태의 파일을 mysql에 text형식으로 저장하는 방법 추가
JSON 형식의 데이터를 MySQL에 text 형식으로 저장하려면, JSON 데이터를 문자열로 변환하여 저장할 수 있습니다. 아래의 수정된 코드에서는 작업공정 정보를 JSON 형식의 문자열로 변환한 후, 데이터베이스에 text 형식으로 저장합니다.
<?php
require_once($_SERVER['DOCUMENT_ROOT'] . "/lib/mydb.php");
$pdo = db_connect();

// 작업진행순서 문자열
$workprocess = '설계→레이져3030→절곡1→용접→도장→외주→탭→샌딩→쇼트';

// 작업진행순서를 '→'로 구분하여 배열에 저장
$workstate = explode('→', $workprocess);

// 작업진행순서 배열과 작업공정 정보를 결합
$combined_workstate = [];
foreach ($workstate as $process) {
    $combined_workstate[] = [$process, '입고_'.$process, '출고_'.$process, '대기'];
}

try {
    // 작업공정 정보를 JSON 형식의 문자열로 변환
    $workstate_json = json_encode($combined_workstate);

    // 작업공정 정보를 데이터베이스에 저장 (TEXT 형식으로 저장)
    $stmt = $pdo->prepare("INSERT INTO workdb (workstate) VALUES (:workstate)");
    $stmt->bindParam(':workstate', $workstate_json);
    $stmt->execute();
    echo "작업공정 정보가 성공적으로 저장되었습니다.\n";

    // 작업공정 정보 가져오기
    $stmt = $pdo->prepare("SELECT workstate FROM workdb");
    $stmt->execute();
    $result = $stmt->fetch(PDO::FETCH_ASSOC);
    $workstate_from_db = json_decode($result['workstate'], true);
    echo "작업공정 정보:\n";
    print_r($workstate_from_db);

} catch(PDOException $e) {
    echo "Error: " . $e->getMessage();
}

// 데이터베이스 연결 종료
$pdo = null;
?>

 

위의 코드를 활용해서 실제 코드에 적용하려고 한다.

이런식으로 작업공정을 어떤 이의 추가로 인해서 그 작업공정을 기록하고 관리하는 시스템으로 키워야 한다.

이런 고민을 하는 분들에게 도움이 되었으면 한다.

반응형
댓글