영카트 사용후기 입력제한 질문
본문
안녕하세요 아래는 사용후기 각 상품별로1회 입력제한 코드입니다.
각상품별 1회 이나.
각 주문서번호별 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번째 코드가 좋을것 같습니다.
쿼리 자체는 문제가 없어보이네요.
안되신다면 변수들에 값이 제대로 들어가 있나 한번 체크해보셔야 할거 같습니다.
답변을 작성하시기 전에 로그인 해주세요.