영카트 사용후기 입력제한 질문
안녕하세요 아래는 사용후기 각 상품별로1회 입력제한 코드입니다.
각상품별 1회 이나.
각 주문서번호별 1회로 입력제한을 하려면 어떻게 하여야할까요 ?
아래가 맞을까요 ?
</strong></p>
<p>// 사용후기 등록제한 // 원본코드
$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("사용 후기는 상품당 한번만 작성 가능합니다.");
}</p>
<p><strong>
</strong>
// 사용후기 등록제한 // 수정코드
$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}' ";</p>
<p>$use_row = sql_fetch($use_sql); if ($use_row['cnt']) {</p>
<p>alert_close("사용 후기는 각 주문회 상품당 한번만 작성 가능합니다."); }
<strong>
</strong>
$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)";</p>
<p>$use_row = sql_fetch($use_sql);</p>
<p>if ($use_row['cnt']) {</p>
<p>alert_close("각 주문 od_id 당 상품당 한번만 작성 가능합니다."); }
<strong>
답변 2개
댓글을 작성하려면 로그인이 필요합니다.
3번째 코드의 경우 od_id 를 가져오는 서브쿼리 조건절은
주문이 몇개가 되었든 가장 최초 od_id 만 가져오게 될것 같습니다.
ORDER BY 절을 추가하면 되겠지만 작게나마 부하가 들어갈수 있으므로
od_id 를 직접 전달하는 2번째 코드가 좋을것 같습니다.
답변에 대한 댓글 2개
실제 만들어진 $use_sql 은 원하는 값이 모두 세팅된 정상적인 쿼리 형태인지
결과를 받은 $use_row 에는 어떤 값들이 들어있는지
정도의 사항들에 대해 디버깅 해보셔야 합니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인