체크박스 체크 여부에 따라서 DB 데이터 저장을 다르게 하려고 하는데 저장이 안 됩니다. 코드 좀 봐주실 수 있을까요? 채택완료
안녕하세요? 항상 도움 받고 있습니다. 감사합니다. 영카트에서 주문을 할 때 해외주소 국내주소를 기입할 수있는데 체크박스 여부에 따라서 체크를 하면 해외주소만 DB 에 저장이 되고 체크를 하지 않으면 국내 주소만 DB 에 저장이 되게 하려고 합니다. 둘 다 저장이 되니까 관리자 입장에서 혼란스럽더라고요. 코드는 아래와 같습니다. orderform.orderer.skin.php
해외배송
orderformupdate.php
$sql = "UPDATE {$g5['g5_shop_order_table']}
SET od_id = '$od_id',
mb_id = '{$member['mb_id']}',
od_pwd = '$od_pwd',
od_name = '$od_name',
od_email = '$od_email',
od_tel = '$od_tel',
od_hp = '$od_hp',
od_b_name = '$od_b_name',
od_b_tel = '$od_b_tel',
od_b_hp = '$od_b_hp',
od_deposit_name = '$od_deposit_name',
od_memo = '$od_memo',
od_cart_count = '$cart_count',
od_cart_price = '$tot_ct_price',
od_cart_coupon = '$tot_it_cp_price',
od_send_cost = '$od_send_cost',
od_send_coupon = '$tot_sc_cp_price',
od_send_cost2 = '$od_send_cost2',
od_coupon = '$tot_od_cp_price',
od_receipt_price = '$od_receipt_price',
od_receipt_point = '$od_receipt_point',
od_bank_account = '$od_bank_account',
od_receipt_time = '$od_receipt_time',
od_misu = '$od_misu',
od_pg = '$od_pg',
od_tno = '$od_tno',
od_app_no = '$od_app_no',
od_escrow = '$od_escrow',
od_tax_flag = '$od_tax_flag',
od_tax_mny = '$od_tax_mny',
od_vat_mny = '$od_vat_mny',
od_free_mny = '$od_free_mny',
od_status = '$od_status',
od_hope_date = '$od_hope_date',
od_time = '".G5_TIME_YMDHIS."',
od_ip = '$REMOTE_ADDR',
od_settle_case = '$od_settle_case'";
if (isset($_POST['overseas_shipping_checkbox']) && $_POST['overseas_shipping_checkbox'] == 'on') {
// 보내는 사람 해외주소 체크박스가 체크된 경우
$sql .= ", overseas_country = '$overseas_country',
overseas_address_line1 = '$overseas_address_line1',
overseas_address_line2 = '$overseas_address_line2',
overseas_city = '$overseas_city',
overseas_state = '$overseas_state',
overseas_postal_code = '$overseas_postal_code'";
} else {
// 보내는 사람 해외주소 체크박스가 체크되지 않은 경우
$sql .= ", od_zip1 = '$od_zip1',
od_zip2 = '$od_zip2',
od_addr1 = '$od_addr1',
od_addr2 = '$od_addr2',
od_addr3 = '$od_addr3',
od_addr_jibeon = '$od_addr_jibeon'";
}
if (isset($_POST['b_overseas_shipping_checkbox']) && $_POST['b_overseas_shipping_checkbox'] == 'on') {
// 받는 사람 해외주소 체크박스가 체크된 경우
$sql .= ", b_overseas_country = '$b_overseas_country',
b_overseas_address_line1 = '$b_overseas_address_line1',
b_overseas_address_line2 = '$b_overseas_address_line2',
b_overseas_city = '$b_overseas_city',
b_overseas_state = '$b_overseas_state',
b_overseas_postal_code = '$b_overseas_postal_code'";
} else {
// 받는 사람 해외주소 체크박스가 체크되지 않은 경우
$sql .= ", od_b_zip1 = '$od_b_zip1',
od_b_zip2 = '$od_b_zip2',
od_b_addr1 = '$od_b_addr1',
od_b_addr2 = '$od_b_addr2',
od_b_addr3 = '$od_b_addr3',
od_b_addr_jibeon = '$od_b_addr_jibeon'";
}
// 나머지 주문자 정보 저장
$sql .= ", od_test = '{$default['de_card_test']}'
WHERE od_id = '$od_id'";
$result = sql_query($sql, false); $_POST 로는 잘 넘어가는데 데이터가 DB 에 저장이 되지 않습니다. 국내 주소는 또 저장이 잘 되고요 .. 왜 그런지 알 수 있을까요?
답변 1개
데이터는 잘 넘어오는데, DB에 저장이안된다면,
해당 쿼리문을 echo $sql;exit; 형식으로 출력해서
그 쿼리문을 db접속 툴을 이용해서, 직접 실행해보시기 바랍니다.
쿼리문에 구문오류가 있거나, 여분필드가 확장 되지 않았을 수 있습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인