쿼리 작동 질문드려요 채택완료
mb_6가 1인 것을 불러와서
포인트가 0보다 클 시에 mb_6를 비어있음으로 해주고 싶은데요
밑에 소스에서 주석처리 길게 한 부분 밑에가 제가 넣은 코드에요
</p>
<p>function save_order_point($ct_status="완료")
{
global $g5, $default;</p>
<p> $beforedays = date("Y-m-d H:i:s", ( time() - (86400 * (int)$default['de_point_days']) ) ); // 86400초는 하루
$sql = " select * from {$g5['g5_shop_cart_table']} where ct_status = '$ct_status' and ct_point_use = '0' and ct_time <= '$beforedays' ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 회원 ID 를 얻는다.
$od_row = sql_fetch("select od_id, mb_id from {$g5['g5_shop_order_table']} where od_id = '{$row['od_id']}' ");
if ($od_row['mb_id'] && $row['ct_point'] > 0) { // 회원이면서 포인트가 0보다 크다면
$po_point = $row['ct_point'] * $row['ct_qty'];
$po_content = "주문번호 {$od_row['od_id']} ({$row['ct_id']}) 배송완료";
insert_point($od_row['mb_id'], $po_point, $po_content, "@delivery", $od_row['mb_id'], "{$od_row['od_id']},{$row['ct_id']}");
}
sql_query("update {$g5['g5_shop_cart_table']} set ct_point_use = '1' where ct_id = '{$row['ct_id']}' ");
}</p>
<p> </p>
<p>// 윗부분은 영카트 원본이고 적립하는 부분인데 전혀 문제가 없고 아랫부분이 제가 추가한 부분입니다. </p>
<p> </p>
<p> $sql = "select mb_id, mb_point from {$g5['g5_member_table']} where mb_6 = '1' ";
while($rows = sql_fetch_array($sql)) {
if ($rows['mb_point'] > 0) {
sql_query("update {$g5['g5_member_table']} set mb_6 = '' where mb_id = '{$rows['mb_id']}' ");
}
}
}</p>
<p>
이렇게 배송완료 했을 때 포인트 적립 부분에 추가를 했어요
그러면 위에 부분에서 일단 적립을 하고
아랫부분에서 적립한 결과를 가지고 처리를 하는건가요?
예를 들어 포인트가 -10인 사람이 20짜리 포인트 상품을 사서 배송완료하면
for 구문 쪽에서 포인트 적립이 되고 (현재 포인트 10)
while 구문 쪽에서 mb_6가 1이고 현재 포인트가 10이니까 mb_6를 비어있게 업데이트 해주나요?
배송완료 시 적립은 바로되게 변경해놨는데 실제로 mb_6가 바뀌지 않아서요
댓글을 작성하려면 로그인이 필요합니다.
답변 2개
답변을 작성하려면 로그인이 필요합니다.
로그인전체 질문 목록
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
답변대기
채택
답변대기
답변대기
답변대기
답변대기
채택
채택
답변대기
답변대기
답변대기
채택
근데 왜 작동이 안되지 ㅜㅜ
mb_6가 바뀌지 않네요 포인트의 흐름은 정상적인데