특정 상품 구매시 회원등급 올리기
본문
안녕하세요! 특정 상품 구매시 회원등급을 올리려고 하는데요.. 일단은 여러차례 구글링을 해서 sir에서 포인트를 이용해서 올리는 방법을 알아내었습니다
하지만 이 방법은 모든 상품을 구매하면 포인트를 지급하면서 동시에 쿼리를 줘서 회원 등급을 올리는 방법인거 같습니다 그래서 제가 생각했던게 예를들면 a 상품의 it_id 가 123 라고 한다면 it_id가 123 인 상품을 구매했으면 회원등급을 올려주는 형식으로 만들려고 했는데.. 왜 안되는지 잘 모르겠습니다 선배님들의 조언이 필요합니다 감사합니다..
function save_order_point($ct_status="完了")
{
global $g5, $default;
$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']}' ");
//내가 작성한 코드
//$sql_find = "select it_id,ct_status from {$g5['g5_shop_cart']} where it_name='Membership Step (4)'";
//$od_find = sql_fetch($sql_find);
//if($od_find['it_id'] == 1625643785){
//회원등급을 변경하는 코드
//sql_query("update {$g5['member_table']} set mb_level = '5' where mb_id = '{$od_row['mb_id']}' ");
//}
}
}
!-->
답변 1
$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++) {
...
if($row['it_Id']== 1625643785){
//회원등급을 변경하는 코드
sql_query("update {$g5['member_table']} set mb_level = '5' where mb_id = '{$row['mb_id']}' ");
}
중복일 수 있으나 이렇게 하면 될 듯합니다.
답변을 작성하시기 전에 로그인 해주세요.