영카트 사용후기 입력제한 질문

영카트 사용후기 입력제한 질문

QA

영카트 사용후기 입력제한 질문

본문

안녕하세요 아래는 사용후기 각 상품별로1회 입력제한 코드입니다.
각상품별 1회 이나.
각 주문서번호별 1회로 입력제한을 하려면 어떻게 하여야할까요 ? 
아래가 맞을까요 ?



// 사용후기 등록제한 // 원본코드
$use_sql = " select count(*) as cnt from {$g5['g5_shop_item_use_table']} where it_id = '$it_id' and mb_id = '{$member['mb_id']}' ";
$use_row = sql_fetch($use_sql);
if ($use_row['cnt']) {
    alert_close("사용 후기는 상품당 한번만 작성 가능합니다.");
}




// 사용후기 등록제한 // 수정코드
$use_sql = " select count(*) as cnt from {$g5['g5_shop_item_use_table']} where it_id = '$it_id' and mb_id = '{$member['mb_id']}' and od_id = '{$od_id}' ";
$use_row = sql_fetch($use_sql); if ($use_row['cnt']) {
alert_close("사용 후기는 각 주문회 상품당 한번만 작성 가능합니다."); }



$use_sql = " select count(*) as cnt from {$g5['g5_shop_item_use_table']} where it_id = '$it_id' and mb_id = '{$member['mb_id']}' and od_id = (select od_id from {$g5['g5_shop_order_table']} where it_id = '$it_id' and mb_id = '{$member['mb_id']}' limit 1)";
$use_row = sql_fetch($use_sql);
if ($use_row['cnt']) {
alert_close("각 주문 od_id 당 상품당 한번만 작성 가능합니다."); }

이 질문에 댓글 쓰기 :

답변 2

3번째 코드의 경우 od_id 를 가져오는 서브쿼리 조건절은

주문이 몇개가 되었든 가장 최초 od_id 만 가져오게 될것 같습니다.

ORDER BY 절을 추가하면 되겠지만 작게나마 부하가 들어갈수 있으므로

 

od_id 를 직접 전달하는 2번째 코드가 좋을것 같습니다.

해당 코드들이 function 에 들어가 있다면 global $g5, $member; 와 같은 글로벌 선언이 되어 있는지
실제 만들어진 $use_sql 은 원하는 값이 모두 세팅된 정상적인 쿼리 형태인지
결과를 받은 $use_row 에는 어떤 값들이 들어있는지
정도의 사항들에 대해 디버깅 해보셔야 합니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 728
QA 내용 검색
filter #sql ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT