PHP

특정 기간동안 매주 월요일만 값 등록하기

에혀 2020. 1. 25.

일반적인 쇼핑몰과 다른 메커니즘. 크게 다른지는 모르겠으나, 다른 점이다. 날짜별 재고가 필요하다는 것.

 

  • 1/1~6/30 동안
  • 매주 화 , 목 요일만
  • 상품을 등록한다.

필요했던 지식

  1. php 날짜 관련 함수 ( strtotime , date ) , 요일 배열, for 문 중첩하여 요일 체크
  2. insert 문 반복. value ('a'),('b').... 연속처리를 위해, values 절에 들어갈 값을 배열로 받아서 implode 로 묶기

https://cnpnote.tistory.com/entry/mysql%EC%97%90-PHP-%EB%B0%B0%EC%97%B4%EC%9D%84-%ED%86%B5%ED%95%B4-%EC%97%AC%EB%9F%AC-%ED%96%89-%EC%82%BD%EC%9E%85

 

  • 제이쿼리 데이트피커로 기간을 설정. start_date / end_date
  • 반복문을 총 몇 번 실행해야하는지 계산. 총 기간의 일자를 구한다. (( 예전에 머리 싸메고 해봤던, 달력만들기였다. ))
  • 반복문 안에, 다시 for 문을 만들어서, 체크한 요일에 해당하면, insert 하고, 요일이 아니면, 패스한다.

역시 난 천재야. -_-;; 오잉 그냥 쉽게 되버리네

 

관련 글을 찾아보다가.. 맙소사 어떤 ERP 는 insert 를 for 문으로 처리하고 있더라는 글을 보고... 헙... 나같은 개초보가 만들었나 보구나... 생각에, 연속된 insert 문은 무리가 많이 간다길래,  뜨끔.. ㅋㅋ 나중으로 미루자 -_-

(( 개인적으로 감사의 마음을.... 함수는 정확히 이해 못했으나, 일단 반복문으로 처리는 했다. ))  --- 2020.1.25

 

또, 하나 영어로 insert loop 와 같은 키워드로 검색하면, 좋은 컨텐츠들이 쏟아져 나온다.

 

 

 

insert into 테이블(필드1,필드2.....) values (값1,값2), (값1,값2) ....... 

음... 값을 변수에, 이어 담아서 insert 문 한번으로 처리할 수는 있겠구나....

이렇게 하면, 누가봤을 때, 덜 쪽팔릴까? ㅠㅠ 창피하니 혼자만 알아야지.


날짜 관련 함수... 아 씨... 왜 일케 더럽니. ㅠㅠ

strtotime : string(문자)를 time 형식으로.

디릅게 귀찮았으나, ERP 에서는 수없이 많이 쓸 것이므로 머리에 담기로 했다. ㅠㅠ

 

** 날짜 차이 계산 strtotime($day) /60(초)/60(분)/24(시간) 하면, 일을 뽑을 수 있다.

그래서, 날짜끼리 차이를 계산할 때, ( 몇 일짜리인지 등 ) strtotime($day2) - strtotime($day1) 한 후, /60/60/24 하면, 일차이를 구할 수 있다. 이건 정말 너무 중요했다.

 

검색하다 알게됐지만, dateinterval 인가.. 이런 객체를 사용할 시, (-) 시차에 대응이 안됐다. 또 다른 쪽으로 빠지고, 흐름을 놓칠까봐 미루기로 했다. 구현이 먼저다.

 

** 요일 구하기

date('w', strtotime($day))

0 은 일요일이다!!!

 

$day = "2020-01-01";
$yoil = array("일","월","화","수","목","금","토");

// array[0] 은 일 
echo($yoil[date('w', strtotime($day))]);

 

 

 

 

 

댓글