
PHP에서 브라켓 품목코드 기반 재고 조회 기능 구현하기브라켓 품목코드의 체계적인 재고 관리는 창고 운영의 효율성을 높이고, 주문 및 출고 프로세스를 간소화하는 데 중요한 역할을 한다. 이번 포스팅에서는 브라켓 품목코드를 기반으로 재고를 조회하고, 정렬 및 필터링하여 원하는 데이터를 추출하는 PHP 스크립트를 설명한다.1. 품목코드와 JSON 데이터 활용이 코드의 핵심 기능 중 하나는 safe_json_decode() 함수를 활용해 JSON 형태로 저장된 품목코드를 안전하게 디코딩하는 것이다. 데이터베이스에서 조회된 품목코드는 JSON 형식으로 저장되어 있으므로, 이를 PHP 배열로 변환하여 활용한다.function safe_json_decode($json) { $decoded = json_deco..

PHP에서 마지막 요소에 을 넣지 않는 방법PHP에서 foreach 문을 사용할 때, 각 요소를 HTML로 출력하면서 태그를 추가해야 하는 경우가 있다. 하지만 마지막 요소에는 을 넣고 싶지 않을 때 어떻게 해야 할까? 초보자들이 자주 부딪히는 문제 중 하나인데, 이를 해결하는 방법을 차근차근 설명해 보겠다.foreach 사용 시 태그 처리 문제예를 들어, 아래와 같은 코드가 있다고 하자.foreach ($gridData as $gridRow) { $prod_CD .= $gridRow['work_prod_cd'] . "";}이렇게 하면 모든 요소 뒤에 태그가 붙어 마지막 요소에도 이 추가된다. 결과적으로 HTML에서 불필요한 빈 줄이 생길 수 있다.implode()를 활용한 간단한 해결법이 문..
steelmake 테이블 구조를 확인했으니, 이제 steelmake 테이블의 데이터를 활용하여 "가공여부"를 계산하고 표시하는 로직을 추가하겠습니다. steelmake 테이블에서 proditem, prodspec, prodsteelnum, remainspec, remainsteelnum 등의 컬럼을 활용하여 가공 여부를 판단할 수 있습니다.1. 가공여부 판단 로직steelmake 테이블에서 가공 여부는 다음과 같은 조건으로 판단할 수 있습니다:proditem, prodspec, prodsteelnum이 모두 존재하면, 해당 데이터는 가공된 데이터로 간주합니다.remainspec, remainsteelnum이 존재하면, 잔여 재고가 있는 것으로 간주합니다.이를 바탕으로 searchStock 함수를 수정하여..

PHP와 MySQL을 활용해 데이터를 검색할 때, 효율적으로 작성된 SQL 쿼리는 성능을 크게 좌우합니다. 특히 다양한 조건에서 데이터를 검색하고, 중복된 데이터를 제거하는 작업이 필요할 경우, 잘 설계된 쿼리와 준비된(Prepared) 문장은 중요한 역할을 합니다. 이번 포스팅에서는 PHP와 PDO를 사용해 특정 steel_item과 spec을 검색하는 예제를 알아봅니다. 이 코드는 세 개의 데이터 테이블을 참조하며, 검색 조건에 따라 동적으로 동작하도록 설계되었습니다. 코드 설명아래의 코드는 두 가지 주요 조건에서 동작합니다.사용자가 특정 steel_item과 search 값을 입력한 경우.search 값 없이 steel_item만 입력한 경우.이 두 가지 경우에 따라 쿼리를 분리해 처리하고 있습니다..

개발을 하다 보면 코드가 점점 복잡해지고, 가독성이 떨어져서 수정하기가 곤란해지는 순간이 찾아온다. 특히 PHP로 구축된 프로젝트에서 여러 파일을 거쳐 오는 파라미터나 세션 처리 방식을 깔끔하게 정리하지 않으면, 디버깅과 유지 보수에 어려움을 겪게 된다. 이번 글에서는 PHP로 작성된 코드를 리팩토링하여 가독성을 높이고, 유지 보수성을 향상시키는 방법을 예시와 함께 살펴보고자 한다. 1. Null 병합 연산자를 활용한 파라미터 처리기존에는 if (isset($_REQUEST['xxx'])) { $xxx = $_REQUEST['xxx']; } else { $xxx = ''; } 같은 방식을 사용했다면, PHP 7 이후부터 도입된 **Null 병합 연산자(??)**를 이용하면 보다 간결하게 코드를 작성할 수..

PHP를 다루다 보면 문자열에 특정 단어가 포함되어 있는지 확인해야 하는 경우가 자주 발생합니다. 예를 들어, 제품 키워드에 "별도"라는 단어가 들어 있는지 확인하고, 조건에 따라 다른 값을 처리해야 하는 상황이 있을 수 있습니다. 오늘은 PHP의 유용한 함수인 strpos()를 활용해 이러한 문제를 해결하는 방법을 알아보겠습니다.문제 상황예를 들어, 다음과 같은 코드가 있다고 가정해 보겠습니다.$material = ($key == '⑥별도마감') ? $GuidrailExtraFinish : $material;이 코드는 $key가 '⑥별도마감'과 정확히 일치할 때만 $material 값을 변경하도록 작성되었습니다. 하지만 실제로는 '별도'라는 단어만 포함되어도 같은 처리가 필요할 수 있습니다. 예를 들어..

웹 개발을 하다 보면 특정 날짜를 기준으로 이전 날짜나 특정 조건을 만족하는 날짜를 계산해야 하는 경우가 종종 있다. 예를 들어, 특정 월의 첫 번째 날에서 더 이전인 날짜를 구하는 상황을 상상해보자. 이번 글에서는 PHP를 사용하여 전달의 첫날에서 전전달의 29일로 날짜를 변경하는 방법을 쉽게 이해할 수 있도록 설명해보겠다. 전달의 1일 구하기PHP에서 날짜 계산은 매우 간단하다. 우선, 특정 월의 첫날을 구하는 방법을 알아보자. PHP의 date와 strtotime 함수를 활용하면 원하는 날짜를 간단히 계산할 수 있다.다음은 전달의 1일을 계산하는 코드이다:$previousMonthFromDate = date("Y-m-01", strtotime($previousMonth . '01'));위 코드에서 ..

웹 애플리케이션을 개발할 때, 유저가 데이터를 검색하는 방식은 굉장히 중요합니다. 특히 여러 조건을 조합해 데이터를 검색해야 하는 경우라면, 적절한 UI와 서버 로직을 설계하는 것이 핵심입니다. 오늘은 PHP를 활용해 Radio 버튼 선택과 검색 필드를 연동하여 유저가 보다 직관적으로 데이터를 필터링할 수 있는 방법을 알아보겠습니다.동적 검색이란 무엇인가요?동적 검색이란 사용자의 입력값이나 선택 조건에 따라 데이터베이스에서 필요한 데이터를 실시간으로 가져오는 것을 의미합니다. 예를 들어, 쇼핑몰에서 유저가 특정 카테고리를 선택하고 검색어를 입력했을 때, 그 조건에 맞는 상품만 검색 결과로 보여주는 기능을 떠올리면 됩니다.이번 글에서는 Radio 버튼으로 검색 범위를 지정하고, 검색 필드에 입력된 키워드를..
- Total
- Today
- Yesterday
- 엑셀입력보호
- #카테고리트리
- #계층형데이터
- #동적ui
- ajax오류메시지
- 오블완
- #textarea #자동높이조절 #ux개선 #웹개발 #프론트엔드 #자바스크립트 #html팁 #웹디자인 #uiux #코딩팁
- #tuigrid #자바스크립트그리드 #행삽입 #행삭제 #웹개발팁 #프론트엔드개발 #javascriptgrid #데이터테이블 #ui개선 #그리드커스터마이징
- #php에러해결 #php경고메시지 #nonwellformednumeric #php초보자팁 #웹개발에러 #프로그래밍디버깅 #php정규식 #코드디버깅팁 #웹개발문제해결 #php숫자형변환
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 효율적코딩방법
- 엑셀셀보호
- 구글드라이브API
- Bootstrap 5
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- General error: 2031
- json파일편하게보는법
- 도면자동생성
- 엑셀보호
- 티스토리챌린지
- 오토핫키가이드
- json파일형태보기
- #데이터베이스설계
- #트리구조
- 웹제작강의안2주차
- #데이터무결성
- 캐드자동작도
- 자바스크립트 코드 기본지식
- #웹개발
- isset을 적용해야 하는 이유
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |