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 버튼으로 검색 범위를 지정하고, 검색 필드에 입력된 키워드를..
PHP로 웹 개발을 하다 보면 숫자를 특정 형식으로 출력해야 할 때가 있습니다. 특히 페이지 번호와 같은 숫자를 출력할 때, 한 자리 숫자를 두 자리로 맞추어야 하는 경우가 빈번합니다. 예를 들어, 1은 01로, 10은 그대로 10으로 출력하고 싶을 때가 있습니다. 이번 글에서는 이를 간단하고 효과적으로 처리하는 방법을 알아보겠습니다. 상황 예시어떤 프로젝트에서 페이지 번호를 표시할 때, 다음과 같은 형식이 요구된다고 가정해 보겠습니다:-여기서 $page가 1일 때는 01로, 10 이상일 때는 그대로 출력되기를 원한다고 해봅시다. 예를 들어, lotNum이 A12이고 page가 1이면 A12-01로, page가 100이면 A12-100으로 출력되어야 합니다.해결 방법이 문제는 PHP의 str_pad 함수..
PHP를 활용하다 보면 JSON 데이터를 디코딩하거나 변수의 배열 크기를 확인해야 하는 경우가 자주 발생합니다. 하지만 이 과정에서 종종 count() 함수와 관련된 경고 메시지로 인해 당혹스러운 경험을 하곤 합니다. 특히, count() 함수는 배열이 아닌 값에 사용될 경우 경고를 발생시키기 때문에 코드를 보다 안전하게 작성하려면 이를 미리 방지하는 방법이 필요합니다.오늘은 PHP 7.3 이상에서 제공되는 is_countable() 함수를 활용하여, 이러한 경고를 사전에 차단하고 배열 크기를 안전하게 확인하는 방법에 대해 알아보겠습니다. 초보자도 이해할 수 있도록 천천히 설명해 보겠습니다.문제 상황: count() 함수 사용 시 경고 메시지count() 함수는 배열의 크기나 객체의 요소 수를 반환하는 ..
이 코드는 데이터베이스에서 일정/할일(todos)과 휴일(holiday) 정보를 조회하는 PHP 스크립트입니다.PHP MySQL 동적 IN 절 쿼리 작성하기 - PDO prepared statements로 SQL 인젝션 방지하기 이런 제목들이 SEO에 효과적일 것 같습니다. 그 이유는: 1. 핵심 키워드 포함: - PHP - PDO - prepared statement - IN clause/IN 절 - SQL injection 2. 검색 의도 반영: - "안전하게" - "동적" - "방법" 같은 실용적인 키워드를 포함해 개발자들의 검색 의도와 매칭됩니다. 3. 구체적인 기술 스택 명시: - PHP PDO - MySQL "array_map과 imp..
- Total
- Today
- Yesterday
- 오블완
- Bootstrap 5
- 엑셀셀보호
- 캐드자동작도
- 파이썬코드줄바꿈방법
- 티스토리챌린지
- 구글드라이브API
- isset을 적용해야 하는 이유
- sql문장 날짜계산
- 1. #웹개발 2. #로트번호 3. #성적서보기 4. #ajax 5. #jquery 6. #php 7. #프론트엔드 8. #백엔드 9. #부트스트랩 10. #웹기능구현
- 엑셀입력보호
- 코딩효율성
- #InstallForge
- json파일형태보기
- 코딩튜토리얼
- 오토핫키가이드
- General error: 2031
- #프로그램설치
- ajax오류메시지
- 뫄프로그래밍
- json파일편하게보는법
- 도면자동생성
- 엑셀보호
- coalesce는 한국어로 "코얼레스크" 또는 "코얼리스"
- chatGPT3.5파이썬버전
- 테크에능한여성
- 프로그래머생활
- 효율적코딩방법
- 스크립트작성기초
- #파이썬패키징
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |