한 달에 한 번만 신청할 수 있는 기능
본문
월 1회만 신청할 수 있는 기능 어떤식으로 체크하는게 좋을까요
사과 배 망고 이렇게 있으면 주문은 여러번 할 수 있지만 그 중에 사과는 한 달에 한 번만 주문이 가능한 그런 느낌입니다.
주문번호가 다 같다면 같은 주문번호 안에서 달 단위로 끊어서 할 수 있을 거 같은데
주문번호가 다 달라서 어떻게 체크해야 할지 감이 잘 안 와요ㅠ
힌트라도 주시면 감사하겠습니다..
답변 4
저였다면
별도로 월별로 구매한 정보 입력 테이블을 생성하고
구매시 년,월,회원아이디, 제품명, 제품코드 등 정보를 넣고
구매페이지에서 쿼리 돌려서 현재 달과 비교해서 노출할거같습니다~
1.여분 또는 추가필드에 한정아이템별 신청한 시간정보 추가
2.해당필드 기준으로 이번달 신청여부확인
3.신청내역이 있으면 신청불가처리
해당 회원이 그 달에 주문한 정보를 우선 오더 테이블에서 구하고 그걸 참고로 카트 테이블에서 구매한 상품을 구해서 그 달에 구매한 상품이 있나 체크를 해보시면 될거 같습니다.
한번만 구매 조건이 있는 상품일 경우 구매시 회원 테이블 여분필드에 기록을 하면 간단 합니다
orderformupdate.php 상단에서
// 장바구니 수량이 재고수량보다 많다면 오류 <==이렇게 체크하는 부분이 있습니다
이곳에 추가
if ($row['it_name'] =='사과') $apple = true;
하단 goto_url(G5_SHOP_URL~~~ 바로 위에 추가
$today = G5_TIME_YMD;
if(isset($apple))
sql_query("update {$g5['member_table']} set mb_1='$today' where mb_id='{member['mb_id']}' ");
==============
shop/item.php에서
// 주문가능체크
$is_orderable = true; <--이 부분 다음에 추가
if( $it['it_name']=='사과' && $member['mb_1'] && substr($member['mb_1'],0,7) == substr(G5_TIME_YMD,0,7)) $is_orderable = false; //<--이게 구매할 수 없게하는 변수입니다
상품보기 페이지에서 장바구니 / 바로구매 버튼이 나오지않게 합니다
아예 상품 상세 페이지 조차 나오지 않게 하려면 상단 $it 값 구하는 코드 다음에
위 if문을 넣어서 alert('구매불가'); 이렇게 해주면 됩니다