쿼리 질문 입니다.
본문
지난달 1일 부터~ 말일까지 결제금액 합산해서 등급 올려주려는데 어디가 잘못됐을까요?
카드결제 아니면 포인트 결제금액을 비교해서 해당되면 등급 올려주거든요.
테스트 중인 계정에 주문내역 테이블에 지난달에 33만원 결제금액을 저장해두었습니다.
코드가 작동한다면 3레벨로 올라가야 하는데 작동을 안해서요^^;;
// 전월 상품구매비용 확인
$date1=strtotime(date("Y-m-01",strtotime("last month"))); //지난달 1일
$date2=strtotime(date("Y-m-01",time()))-1; //지난달 마지막일 자정= 59분 59초
$sql = " select sum(od_receipt_price) as total from {$g5['g5_shop_order_table']} where od_time between '$date1' and '$date2' ";
$check = sql_fetch($sql);
$sql = " select sum(od_receipt_point) as total from {$g5['g5_shop_order_table']} where od_time between '$date1' and '$date2' ";
$check2 = sql_fetch($sql);
if($check['total'] > 150000 || $check2['total'] > 150000) {
$sql = " update {$g5['member_table']} set mb_level = '3' where mb_id = '{$member['mb_id']}' ";
sql_query($sql);
}
답변 2
strtotime() 을 빼야 됩니다.
g5_shop_order 테이블의 od_time 칼럼의 데이터 타입은 datetime 입니다. (2024-01-18 16:00 형태)
$date1 = date('Y-m-d', strtotime('first day of last month'));
$date2 = date('Y-m-d', strtotime('last day of last month'));
$date1 = $date1 . ' 00:00';
$date2 = $date2 . ' 23:59';
od_time between FROM_UNIXTIME($date1) and FROM_UNIXTIME($date2)
답변을 작성하시기 전에 로그인 해주세요.